为什么我不能初始化本地阵列字符串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