推 shadow0326: 先不用想到雙重指標這麼複雜,就用int i和int* p來想 06/13 23:15
→ shadow0326: *p=i 和 p=&i 有一樣嗎? 想通你就知道哪裡不同了 06/13 23:16
→ outofyou: pp = &p時, pp= 不會修改p的值,*pp= 會修改p的值。 06/13 23:34
→ outofyou: 這裡用pointer of pointer就是要處理用一個變數代替另一 06/14 01:16
→ outofyou: 個變數的問題,就像是函式call by value的議題,所以要 06/14 01:16
→ outofyou: 用傳址的方式處理,這裡也是,例如串列有a,b,c,d這4個節 06/14 01:16
→ outofyou: 點,如果p = a->next,想要修改a->next的值是無法透過p 06/14 01:16
→ outofyou: 處理的,但是pp = &(a->next)的話,要修改a->next就可以 06/14 01:17
→ outofyou: 用*pp= 的方式來處理。 06/14 01:17
推 moebear: PP是你家地址 裡面住著你 p是隔壁鄰居 1是把隔壁鄰居複製 06/14 01:31
→ moebear: 拿來取代你 2是你家的地址變成隔壁家地址 再也找不到你家 06/14 01:31
→ ToastCheng: 感謝樓上各位解釋~我看懂差別了^_^ 06/14 07:53
→ ToastCheng: 我卡的點在於認為不論1還2最後都會指向P所指向的值, 06/14 08:01
→ ToastCheng: 但忽略上一層的不同 06/14 08:01
→ Killercat: 這種寫法太C了 XD 06/22 12:18