尝试了以下内容:
#define N 3
void print(int **arr, int m)
{
int i, j;
for (i = 0; i < m; i++)
for (j = 0; j < N; j++)
printf("%d ", arr[i][j]);
}
int main()
{
int arr[][3] = { { 1, 2, 3 },{ 4, 5, 6 },{ 7, 8, 9 } };
print(arr, 3);
return 0;
}
它崩溃了。当我用void print(int [] [N],int m)替换它时它起作用了。 couldent了解差异。我确信**表示指针指针,换句话说指针数组,换句话说是数组数组。 同样,数组被视为指向第一个单元格的指针。