我正在尝试使用二维矩阵进行计算。为什么会崩溃而没有错误?
代码:
int main (void)
{
int myArray[2][3] = {{1,2,3},{5,4,3}};
int height = 2;
int width = 3;
modifyArray( (int**)myArray,height, width);
}
void modifyArray(int **array, int height1, int width1)
{
int result;
for(i=0;i<height1;i++)
{
for(j=0;j<width1;j++)
{
result = (**((array+i*3)+j));
printf("%d", result)
}
}
}
最佳答案
转换为 ( int ** )
强制将 myArray 视为指向 int 的指针数组。
事实并非如此 - 它是编译器将其视为二维数组的单个内存块。
关于C - 访问二维数组槽函数不起作用,崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29809989/