我试图在不事先声明大小的情况下输入2d数组。
我已经尝试过的一个正在使用malloc和calloc,但是需要使用指针才能工作。
void Sum(int arr[][6])
{
for(i=1;i<5;i++)
for(j=1;j<5;j++)}
void Sum(int arr [] []),一种使用此函数进行delcare的方法。 注意:假设矩阵是方矩阵。
答案 0 :(得分:0)
不幸的是你不能。但是,您可以将1D数组用作2D数组,例如
int sum(int* arr, int width, int height)
{
int total = 0;
for(int y = 0; y < width; y++)
{
for(int x = 0; x < height; x++)
{
total += arr[x + y * width];
}
}
return total;
}
这也适用于3D阵列,只需使用arr[x + y * width + z * width * height]