[問題] 敢問鏈結串列與結構指標的曖昧情節

看板C_and_CPP (C/C++)作者 (疥瘡貓)時間11年前 (2015/01/05 10:53), 編輯推噓1(1011)
留言12則, 4人參與, 最新討論串1/1
開發平台(Platform): C 版上各位先進好,小弟是學習C一年的新手,最近在鏈結串列那邊卡住了,敢問各位大大 在學習結構時書上教我: 結構指標兩個步驟: STEP1.宣告結構指標 struct data { char name[10]; int math; }student; struct data *ptr; STEP2.將指標指向結構變數student ptr = &student; 要完成這樣的動作才可以使用「->」來連接結構裡的成員 但我在學習鏈結串列時卻好像有點不太一樣 struct node { int data; struct node *next; }; typedef struct node NODE; 接下來在main函數中 NODE *ptr1,*ptr2,*ptr3; ptr2 = (NODE*) malloc(sizeof(NODE)); 後 接著就可以使用箭號->來連接成員了 小弟納悶的是...結構變數跑到哪去了呢 況且student那個結構,若像鏈結串列那般寫(直接建立指標,無指向結構變數阿...) 便無法執行 還請各位大大點醒開示,感激不盡 程式碼(Code): 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.235.24.123 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1420426400.A.5EE.html

01/05 11:10, , 1F
有點難懂,但感覺你是不能理解malloc和指標的觀念?
01/05 11:10, 1F

01/05 11:28, , 2F
宣告student時是配置到stack上,而malloc是動態配置
01/05 11:28, 2F

01/05 11:31, , 3F
會傳回一個指向sizeof(NODE)的大小的指標
01/05 11:31, 3F

01/05 21:55, , 4F
01/05 21:55, 4F

01/05 23:30, , 5F
Node node:
01/05 23:30, 5F

01/05 23:30, , 6F
node.xxxNode *node:1 (*node).xxx //麻煩2 node->xxx //所
01/05 23:30, 6F

01/05 23:30, , 7F
以有這種方式
01/05 23:30, 7F

01/05 23:31, , 8F
換行不見了= =
01/05 23:31, 8F

01/05 23:31, , 9F
Node node: node.xxx
01/05 23:31, 9F

01/05 23:32, , 10F
Node *node: 有兩種方式
01/05 23:32, 10F

01/05 23:32, , 11F
1: (*node).xxx
01/05 23:32, 11F

01/05 23:32, , 12F
2: node->xxx
01/05 23:32, 12F
文章代碼(AID): #1KgVoWNk (C_and_CPP)
文章代碼(AID): #1KgVoWNk (C_and_CPP)