用零初始化多维数组

时间:2015-06-29 11:35:46

标签: c++

在C ++中,您可以使用如下代码初始化一维数组:

int myarray[100] = {0};

多维数组是否有类似的方法?或者我是否被迫使用for循环手动初始化它?

4 个答案:

答案 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] = {}; 然后二维数组将被初始化为全零。