指標是門牌,變數是房間裡的東西,
*門牌:就是拿門牌後面房間裡的東西
&房間:就是看房間的門牌號碼
所以
int a=10,b;
int *p;
開了兩個房間a,b
a房間住了10
還拿了個空門牌p
p=&a;把p這個門牌掛到a房間去(這時p門牌就等於a房間的門牌)
b=*p;把p門牌後面房間裡的東西複製到b房間(b房間也住了10)
*p=20;把p門牌後面房間裡的東西改成20(所以a房間也住了20)
int a=10,b;
int *p;
p=&a; // 把變數 a 的位置,指派給指標 p,所以 *p 的內容就是 10
b=*p; // => b = 10
*p=20; // 再次將 *p 的內容,設定為 20,也就是指標 p 所指的位置內容,要變更為 20
// 還記得指標是指到 變數 a ? 所以,變數 a 就改變為 20
結果答案是a=20,b=10