没有索引号的多维数组的声明
declaration of a Multidimensional array without index numbers
我想知道如何以这种方式声明char数组:
char szArray[]={"one"};
char szArrayTwo[][6]={{"one"},{"two"},{"three"}};
但这种方式不起作用
char szArrayTwo[][]={{"one"},{"two"},{"three"}};
注意:
我知道c++标记,尽管它应该是c,但它在c++上下文中与c++编译器一起使用
事实上,这可以用于用作初始化器的常量表达式。但在这种情况下,例如对于字符数组,编译器必须计算字符串文字的最大长度。如果一个数组是多维的,那就更难了。如果在运行时计算初始值设定项,则任务将更加复杂。事实上,编译器不可能生成合适的代码。
在c++中,一个具有2个或更多维度的数组,必须始终定义最右边的维度。
string ArrayOne[] { "one","two","three" };
将起作用,也将起作用
char* ArrayTwo[] { "one","two","three" };
但是一个真正的多维数组必须最多有一个未定义的维度大小(最左边)
相关文章:
- 无法将字符串数组声明为类成员而不是字符 (C++)
- 为什么从函数返回数组时需要将数组声明为静态数组.(C++)
- 在 c++ 中直接访问的内联数组声明
- 由于 2D 数组声明,C++ 14 中的运行时错误
- 如何将char数组声明为函数参数?或告诉我此代码中还有其他问题?
- 来自函数参数的 C++ 静态数组声明
- C++ 中的动态数组声明
- C++数组声明
- 数组声明中的错误:表达式必须具有常量值
- 程序随数组声明崩溃
- 运行时和编译时的数组声明
- C++数组声明和初始化
- 带有常量表达式的数组声明
- C ,数组声明,模板,链接器错误
- 如何用'n'维数组声明 std::vector?
- 数组声明上的编译器错误
- 这是什么数组声明
- 头文件类中的数组声明
- 节点数组声明
- 在静态数组声明中使用了两次C++常量