選項:*p = &a 是什么意思?特別是 *p。p 不應該是 a 的地址,而 *p 不就等于 a 嗎?
p = &a:將變量 a 的地址賦值給指針 p。此時 p 指向 a。*p = &a:語法錯誤/邏輯錯誤。*p 表示 p 指向的內存單元的值(即 a 本身),類型為 int;而 &a 類型為 int*。不能將指針賦值給整型變量。*p = a:將 a 的值賦給 p 指向的內存(即給 a 賦值),等价于 a = a(無意義)。B: p = &a; —— 這是指針初始化的標準寫法。
& 取地址(Address),結果是指針。* 解引用(Dereference),結果是值。int *p 中的 * 標識 p 是指針;使用時 *p 表示「p 指向的那個值」。