【发布时间】:2022-07-23 01:01:57
【问题描述】:
我想知道下面的初始化相当于什么。
char array[3][32] = { "string0", "string1" , "string2"};
上面的代码可以工作,但它有变量被多次初始化的风险。
我试过了,但它只得到最后一个数字而不是整个字符串。
char array[3][32];
*array[0] = 'string0';
*array[1] = 'string1';
*array[2] = 'string2';
提前感谢您的帮助!
【问题讨论】:
-
“上面的代码可以工作,但它有变量被多次初始化的风险。” 任何变量都只初始化一次,句号。也就是说,在 C++ 中不能多次“初始化”一个变量。
-
“多次初始化”是什么意思?
-
我怀疑
'string0'是因为看到错误并在编译之前更改代码。这不是学习 C++ 的推荐方法。 Undefined Behavior 表示“它可以编译”并不意味着“它是正确且定义明确的”。