在C ++中,您可以使用如下代码初始化一维数组:
int myarray[100] = {0};
多维数组是否有类似的方法?或者我是否被迫使用for循环手动初始化它?
答案 0 :(得分:4)
多维数组是一个数组数组。
适用相同的通用数组初始化语法。
顺便说一下,你可以写{}
,不需要在那里加上明确的0
。
答案 1 :(得分:2)
使用向量而不是数组,它将为您提供更大的声明和任何其他操作的灵活性
vector<vector<int> > myarray(rows,vector<int>(columns, initial_value));
您可以在访问数组时访问它们,
如果您仍想使用数组,请使用std::fill
答案 2 :(得分:1)
你的方式完全相同
int marr[10][10] = {0};
编辑:
这是一个C解决方案。对于C ++解决方案,您可以选择:
int marr[10][10] = {};
这两个解决方案不适用于通过变量定义大小的数组。 e.g:
int i, j = 10;
int marr[i][j];
要在C ++中初始化此类数组,请使用std::fill
。
答案 3 :(得分:-1)
在C++中,你也可以这样做:-
int x = 10, y= 10; int matrix[x][y] = {};
然后二维数组将被初始化为全零。