作者loveme00835 (恋さや)
看板C_and_CPP
標題Re: [問題]有關資料結構的問題
時間Fri Feb 26 20:23:28 2010
※ 引述《fbukevin (Veck)》之銘言:
: 不知道在這邊發問對不對
: 有一個關於C資料結構的問題
: 假如我已經完成一個 Linked List call : head
: 然後我宣告一個同結構node的指標變數 *ptr
: 請問:
: ptr=head;
head ───╮
↓
ptr ┌───┐ ┌───┐
╰────→│ ? ├─→│ ? ├─→ ............
└───┘ └───┘
你改的是同樣的節點
: 和
: ptr = (struct node*)malloc(sizeof(struct node));
: ptr->data=head->data;
: prr->next=head->next;
head ───╮
↓
┌───┐ ┌───┐
│ 15 ├─→│ ? ├─→ ............
└───┘ └───┘
↑
┌───┐ │
│ 15 ├────╯
└───┘
↑
ptr ───╯
雙頭蛇 ....
: 以上兩種狀況的ptr都可以印出和head一樣的資料型態
: 但是上面的情況如果改變了head,ptr也會改變
: 為什麼呢?
: 兩個情況差在哪?
遇到不懂的就照課本上的圖自己動手畫畫看吧~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.197.115
※ 編輯: loveme00835 來自: 140.121.197.115 (02/26 20:46)
推 fbukevin:我想順便釐清一下觀念,請問這裡ptr,head是一個node嗎? 02/26 21:07
→ loveme00835:他們都是指標, 裡面的值存記憶體位址(節點的) 02/26 21:13
推 fbukevin:喔喔!!!!謝謝大大,這樣我就都明白了!!!^^ 02/26 21:22
→ loveme00835:呃...這個教科書上都會講到吧= = 02/26 22:47