给定的是这个函数
void printMatrix(int *m, int ze, int sp)
现在 *m 应该是一个二维数组(或者更像是一个指向二维数组的指针)。
那么如何将这个 *m
用作 m[][]
呢?
最佳答案
可变长度数组可以在这方面为您提供帮助:
int (*p)[sp] = (void*) m;
现在您可以通过p[i][j]
访问元素。
关于严格的别名规则的明确定义:它是有效的,因为 m
和 p
都指向兼容的类型。
关于将指针转换为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41701239/