【发布时间】:2021-01-03 03:09:02
【问题描述】:
我正在尝试将大小为 m x n 的 C 中的二维数组初始化为 0,这是我的函数中的输入。这是一个示例(对输出不感兴趣,因此为 void 类型):
void createArray(int m, int n)
{
int array[m][n]={0};
}
我收到错误:“可变大小的对象可能未初始化”。当我也使用“const int”而不是“int”时,我没有运气。
如果我不尝试将 0 分配给数组,这可以正常工作:
void createArray(int m, int n)
{
int array[m][n];
}
有没有办法解决这个问题?必须循环遍历将所有值设置为 0 的数组似乎效率低下,但也许这就是 C 初始化它的方式?
【问题讨论】:
标签: arrays c matrix initialization parameter-passing