當我嘗試下面的代碼中的第二個選項來初始化names
時,出現了分段錯誤。我猜想第二個選項在概念上是不正確的。有任何想法嗎?爲什麼不能使用指向char指針的指針而不是char指針數組?
char *names[] = {
"Alan", "Frank",
"Mary", "John", "Lisa"
};
char **names = {
"Alan", "Frank",
"Mary", "John", "Lisa"
};
'char name [] =「Allan」;' 'char ** names = &name;' –
'也許告訴我們爲什麼你這麼成**。除了通過參數從函數返回外,它們幾乎沒有用處。 –
@Agent_L我沿着這本書「Learn C The Hard Way」(http://c.learncodethehardway.org/book/learn-c-the-hard-waych16.html),在那裏有一個練習「重寫所有在這個程序中的數組用法,以便它是指針。「 –