当我们定义一个二维数组时:
int *a[5];
“5”定义了哪个维度?第一个还是第二个?
最佳答案
它不是“二维”数组。它是指向 int
的一维指针数组。因此,数组大小指定它有 5 个指针的空间。每个单独的指针都可以指向具有不同大小的缓冲区的第一个元素。
“真正的二维数组”是口语化的“数组的数组”int a[M][N]
。这里表达式 a[i]
的计算结果为 N
整数数组,位置为 i
。
关于c - 关于在 C 中使用指针定义二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41850165/