爲什麼我不能初始化本地陣列字符串C++數組初始化
Q
C++數組初始化
-4
A
回答
7
爲什麼我不能初始化本地陣列字符串
正確的答案是,你可以 - 給定數組和字符串的給定定義。你想要達到什麼目的?
char str[] = "Hello world";
+0
這最好是「const char str []」。否則,您最終可能會寫入可執行字節。 – xtofl 2009-06-25 08:11:37
4
的問題是細節很瘦,但:
char arr[] = {'a','b','c', 0};
或
char arr[] = "string";
編輯:
在回答問題:
char s1[] = "hi";
char s2[] = {'h','i',0};
memcpy(s1, "by", sizeof(s1));
memcpy(s2, "by", sizeof(s2));
cout << ios::hex << &s1 << endl;
cout << ios::hex << &s2 << endl;
cout << s1 << endl;
cout << s2 << endl;
打印:
80xbfffed72
80xbfffed6f
by
by
至少在我的系統上,它看起來既像在相同的內存空間分配,我看不出有任何問題或分歧。例如,C定義了string
作爲空終止字符數組 - 我相信這在C++中是相同的,不要與std::string
混淆。
1
std::vector<std::string> abc(5,"abc");
將創建一個包含5個元素並初始化爲「abc」的向量。
相關問題
- 1. C#初始化數組
- 2. C數組初始化
- 3. C++數組初始化
- 4. C++數組初始化
- 5. C++數組初始化
- 6. 數組c初始化
- 7. 初始化數組C++
- 8. 初始化數組時初始化System.AccessViolationException
- 9. C/C++私有數組初始化
- 10. C/C++中的數組初始化
- 11. 初始化字符數組 - C和C++
- 12. C結構自動初始化值,數組初始化
- 13. 用數組或初始化初始化一個NSMutableArray初始化
- 14. 數組初始化
- 15. 數組初始化
- 16. 初始化數組
- 17. 數組初始化
- 18. 如何初始化整數數組C#
- 19. C - 如何初始化一個預初始化的二維數組數組?
- 20. c + +多維數組不會初始化
- 21. C動態數組初始化問題
- 22. 初始化靜態指針數組C++
- 23. C結構數組初始化鑄造
- 24. 從C數組初始化ublas向量
- 25. C++中的boost數組初始化
- 26. C數組初始化範圍
- 27. C++類的數組初始化
- 28. C++二維數組初始化
- 29. C多維字符數組初始化
- 30. C++數組初始化與賦值
給我們的代碼,它可能會使問題更清晰。 – mikek 2009-06-25 07:25:06
您的意思是問:「爲什麼我不能從**字符串初始化本地數組**?」 – 2011-11-05 19:30:59