經典面試題:函數 Initialize(char *a, char *b) 內部執行 b = a; b[8] = 'B';,為何主函數的兩個數組 a、b 內容同變?
調用前:main:a → [a數組內存] main:b → [b數組內存]
調用後:形參a → [a數組內存] 形參b → [b數組內存]
b = a 後:形參a → [a數組內存] 形參b → [a數組內存] (兩指針指向同一塊區域)
b[8]='B':修改的是 [a數組內存] 第9個字符
返回時:main:a 內容已變 main:b 內容未變 (仍指向原b數組)
b = a) 不影響實參指針。a 與實參 a 指向同一塊內存,修改內容 (a[i] = ...) 實參可見。char **。strcpy 複製字符串內容,而非賦值指針。