10
Q
字符串數組初始化
A
回答
6
在第一個示例中(char *hi = "hello";
),您正在創建一個非const指針,該指針被初始化爲指向靜態常量字符串「hello」。理論上這個指針可以指向任何你喜歡的東西。
在第二個示例(char hi[] = "hello";
)中,您明確定義了一個數組,而不是指針,所以它引用的地址是不可修改的。請注意,數組可以被認爲是指向特定內存塊的不可修改的指針。
你的第一個例子實際上在C++(我的編譯器,至少)編譯沒有問題。
相關問題
- 1. 初始化字符串數組從字符串數組資源
- 2. 初始化多朦字符串數組
- 3. 使用初始化字符串數組
- 4. 的C#初始化字符串數組
- 5. 初始化字符數組
- 6. 字符數組初始化
- 7. 字符串數組的初始化字符串太長
- 8. Android字符串初始化
- 9. 初始化「的字符串」
- 10. 字符串初始化
- 11. GPS初始化字符串?
- 12. 字符串初始化
- 13. 初始化字符串的字符數組太長
- 14. 谷歌測試:「字符數組的寬字符串初始化」
- 15. 字符數組的初始化字符串太長。在Xcode
- 16. 將字符串寫入初始化空白字符數組
- 17. 字符數組未正確初始化
- 18. Java字符數組初始化器
- 19. C多維字符數組初始化
- 20. 初始化整個字符數組
- 21. 未初始化的字符數組
- 22. 動態初始化字符數組
- 23. 初始化寬字符數組
- 24. 初始化字符數組 - C和C++
- 25. C++ strlen()初始化字符數組
- 26. 用字節和字符串初始化C數組
- 27. 結構數組初始化和字符串文字
- 28. 正在初始化數據引用的字符串數組
- 29. 初始化「數組字段」
- 30. 錯誤:字符串數組的初始化字符串太長C++
謝謝。有沒有辦法使用const關鍵字來使第一段代碼工作? – lang2
@ lang2不在該範圍內。看這[C常見問題](http://c-faq.com/ansi/constasconst.html)。甚至不用'char * const hi'(常量指向字符的指針)。 – cnicutar
只是添加了一些東西,我不確定它是否會工作......你的第一個版本在C++中編譯好 - 我會在C編譯器的時候嘗試一下:) – icabod