→ cuteSquirrel: print 出來或者畫出概念圖會比較好理解 11/24 21:24
→ pujols05: 如上圖, 不太清楚為何更動*ptr的值為何會改到localPtr 11/24 22:03
推 cuteSquirrel: localPtr 是一個指向整數的指標 11/24 22:09
→ cuteSquirrel: changePtr 的參數 ptr 是 指向(整數的指標)的指標 11/24 22:10
→ cuteSquirrel: 理解為 指向(localPtr)的指標 11/24 22:11
→ cuteSquirrel: 在changePtr內部 節由ptr把 localPtr 改指向 value 11/24 22:12
→ cuteSquirrel: 可以參考版上或google關於雙重指標的討論 11/24 22:12
→ cuteSquirrel: ^藉由 11/24 22:12
→ testPtt: **ptr is &localPtr=>*ptr is localPtr=>localPtr=&value 11/24 23:11
推 cuteSquirrel: 推樓上的說明 11/24 23:26
推 kaneson: 新手比較容易弄混的是宣告時的* 與變數存取時的* 沒有分 11/25 09:25
→ kaneson: 清楚 11/25 09:25
推 kaneson: 簡單說除了宣告時是聲明指標以外, 平時*ptr的*是指做一 11/25 09:33
→ kaneson: 個dereference的動作 11/25 09:33
推 kaneson: 所以已知ptr是int**,對ptr裡面的內容做一次dereference( 11/25 09:44
→ kaneson: 實際就變成了main 的 localPtr), 同時也已知進行一次dere 11/25 09:44
→ kaneson: ference後是int*, 所以這裡可以合法assign一個address(也 11/25 09:44
→ kaneson: 就是assign給localPtr) 11/25 09:44
→ pujols05: 感謝各位 11/25 22:28