Sunday, September 26, 2010

可是我聽說 char a[ ] 和 char *a 是一樣的。

7.2 可是我聽說 char a[ ] 和 char *a 是一樣的。

並非如此。(你所聽說的應該跟函數的形式參數有關;參見問題 6.4) 數組不是指針。 數組定義 char a[6] 請求預留 6 個 字符的位置, 並用名稱 ``a" 表示。也就是說, 有一個稱為 ``a" 的位置, 可以放入 6 個字符。 而指針申明 char *p, 請求一個位置放置一個指 針, 用名稱 ``p" 表示。 這個指針幾乎可以指向任何位置: 任何字符和 任何連續的字符, 或者哪裡也不指(參見問題 5.1 和 1.10)。

參考來源:

"7.2 可是我聽說 char a[ ] 和 char *a 是一樣的。 並非如此。(你所聽說的應該跟函數的形式參數有關;參見問題  6.4) 數組不是指針。 數組定義 char a[6] 請求預留 6 個 字符的位置, 並用名稱 ``a" 表示。也就是說, 有一個稱為 ``a" 的位置, 可以放入 6 個字符。 而指針申明 char *p, 請求一個位置放置一個指 針, 用名稱 ``p" 表示。 這個指針幾乎可以指向任何位置: 任何字符和 任何連續的字符, 或者哪裡也不指(參見問題 5.1 和  1.10)。"
- 7.2 可是我聽說 char a[ ] 和 char *a 是一樣的。 (在「Google 網頁註解」中檢視)

No comments: