2dim阵列,具有不同大小的第二维度
2dim Array with different sized second dimensions
在阵列中
int a[][5] = {{1},{1,2}};
第二维度的"大小"是多少?的值是多少
a[0][1]
有吗?
谈论尺寸是否有意义,或者它是否因"行"而异?
这被认为是不良做法吗?
在您的代码中
int a[][5] = {{1},{1,2}};
第一维度的大小为2(因为外部{}
内部有两个元素)并且第二维度的大小是5。初始化程序中未提及的元素被初始化为零。所以,你的代码相当于:
int a[][5] = {{1,0,0,0,0},{1,2,0,0,0}};
这是无效的。它甚至不会编译:
test.cc:1:9: error: declaration of ‘a’ as multidimensional array must have bounds for all dimensions except the first
当您对数组使用花括号初始化表示法时,您必须为数组的所有维度指定所有元素,因此这段代码只会给您带来编译时错误。
如果您想要一个不同大小的容器数组,可以考虑使用向量数组,甚至向量数组。要使用它们,只需执行#include <vector>
即可。
相关文章:
- 二维阵列的动态分配
- C2440 使用Shared_ptr创建二维阵列
- 围绕二维阵列做一个圆圈
- 为什么一个二维阵列会导致赛段故障,而另一个则不会导致?
- 二维阵列的名称到底代表什么?
- 返回二维阵列
- 是二维阵列访问/修改时间组
- 如何创建一个具有空值、递减编号系统和.txt文件输入值的二维阵列网格
- 八个皇后二维阵列,带有gotos errror
- C++中的二维阵列
- 使用矢量创建二维阵列
- 编制二维阵列
- 错误:解除分配二维阵列
- 复制二维阵列C++
- 将二维阵列模拟为一维阵列
- 从具有两列的文件中加载二维阵列
- 可调整大小的动态二维阵列的更好解决方案
- 使用二维阵列用C++求解埃拉托色尼筛
- 如何显示非对角线二维阵列元素
- 嵌套阵列或嵌套二维阵列