看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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
softseaweed: a->b的意思是 (*a).b 08/23 17:32
ㄚ!謝了~我知道了!! printf("x=%d\n",(*pp).x); printf("y=%d\n",(*pp).y); ※ 編輯: GooLoo (111.251.229.117), 08/23/2015 17:39:12
LPH66: -> 用在指標, 不是指標就用點, 這樣記就好了 08/23 18:41
LPH66: pp 的型態是 PP = struct MyPoint*, 所以用 -> 08/23 18:42
tinlans: 使用任何東西之前要詳讀說明書,寫程式之前也是。 08/23 19:27
Killercat: . ->會搞錯的話 以後很多東西(像iter, smart_ptr)會弄 08/23 23:36
Killercat: 得頭昏眼花的。這盡量早點搞清楚比較好 08/23 23:36
stupid0319: 7月鬼門開,也是最容易報錯的一個月!!!!!!! 08/24 13:18
dritchie: 樓上 報錯都是自己的問題居多 不要牽拖 08/25 00:45