Re: [問題] 問一串連結構的問題

看板C_and_CPP作者 (如果)時間16年前 (2009/10/10 15:43), 編輯推噓1(106)
留言7則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《HPMC (如果)》之銘言: : typedef struct list : { : int number; : struct list *next; : }node; : void main(void) : { : node *ptr,*new; : char ch1,ch2; SS=(node*)malloc(sizeof(node)); ptr=SS; : ptr->number=ch1; : ptr->next=NULL; : new=(node*)malloc(sizeof(node)); : new->number=ch2; : new->next=NULL; : ptr->next=new; : ptr=ptr->next; 請問這一行是否會覆蓋到ch1的值?? : 謝謝... : while(SS!=NULL) : { : printf("%c\n",SS->number); : SS=SS->next; : } : } run了一變確實無法輸出ch1; 但改成以上就可以了... 請問上面的SS跟ptr是什麼關希呢?? 為什麼SS沒經過new->number=ch2;卻可以輸出ch2; 卻又保有ch1..... 小弟這邊觀念有點糢糊....謝謝指教.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.0.12

10/10 16:49, , 1F
老實說, 我建議你去找本資料結構的書慢慢看, 最好是有
10/10 16:49, 1F

10/10 16:50, , 2F
圖解的. Linked-List最基本的就是用next把一個一個node
10/10 16:50, 2F

10/10 16:50, , 3F
串在一起, 透過每個node的next就可以存取下一個node的
10/10 16:50, 3F

10/10 16:51, , 4F
特性自然可以走訪完整個list.
10/10 16:51, 4F

10/10 16:51, , 5F
另外, 上一篇我已經推過了, 你要保存住LL的頭, 你下面
10/10 16:51, 5F

10/10 16:52, , 6F
的while迴圈又讓LL的頭的address跑掉了, 到時候你的LL
10/10 16:52, 6F

10/10 16:52, , 7F
就會無法再存取與釋放資源@@"
10/10 16:52, 7F
文章代碼(AID): #1Aq3il_P (C_and_CPP)
文章代碼(AID): #1Aq3il_P (C_and_CPP)