[問題] ->與點

看板C_and_CPP作者 (平凡)時間8年前 (2015/08/23 17:25), 8年前編輯推噓4(404)
留言8則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) devc 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 不好意思, 又卡住了 我曉得 取結構體元素值可以 pp->x 或pp.x 但是, 不曉得為什麼這邊用pp.x會報錯, pp->x就可以 因為當我打點時, 他會出現x給我選, 但選完卻報錯. 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 程式1 #include <stdio.h> typedef struct MyPoint{ int x; int y; } * PP; struct MyPoint point ={20,40}; int main(int argc, char *argv[]) { PP pp = &point; printf("x=%d\n",pp->x); printf("y=%d\n",pp->y); return 0; } 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.229.117 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1440321936.A.67A.html

08/23 17:32, , 1F
a->b的意思是 (*a).b
08/23 17:32, 1F
ㄚ!謝了~我知道了!! printf("x=%d\n",(*pp).x); printf("y=%d\n",(*pp).y); ※ 編輯: GooLoo (111.251.229.117), 08/23/2015 17:39:12

08/23 18:41, , 2F
-> 用在指標, 不是指標就用點, 這樣記就好了
08/23 18:41, 2F

08/23 18:42, , 3F
pp 的型態是 PP = struct MyPoint*, 所以用 ->
08/23 18:42, 3F

08/23 19:27, , 4F
使用任何東西之前要詳讀說明書,寫程式之前也是。
08/23 19:27, 4F

08/23 23:36, , 5F
. ->會搞錯的話 以後很多東西(像iter, smart_ptr)會弄
08/23 23:36, 5F

08/23 23:36, , 6F
得頭昏眼花的。這盡量早點搞清楚比較好
08/23 23:36, 6F

08/24 13:18, , 7F
7月鬼門開,也是最容易報錯的一個月!!!!!!!
08/24 13:18, 7F

08/25 00:45, , 8F
樓上 報錯都是自己的問題居多 不要牽拖
08/25 00:45, 8F
文章代碼(AID): #1LsP6GPw (C_and_CPP)