注意:动态分配二维数组时一定不能直接同时分配行和列,要按维分配,即先分配行,后分配列。
代码如下:
int **a; //注意a为二维指针
int m, n, i;
scanf("%d%d", &m, &n);
//m 为行,n 为列
a = (int **)(malloc(sizeof(int *)*m)); //先分配行
for (i = 0; i < m; i++)
a[i] = (int *)(malloc(sizeof(int)*n)); //后分配列
注意:动态分配二维数组时一定不能直接同时分配行和列,要按维分配,即先分配行,后分配列。
代码如下:
int **a; //注意a为二维指针
int m, n, i;
scanf("%d%d", &m, &n);
//m 为行,n 为列
a = (int **)(malloc(sizeof(int *)*m)); //先分配行
for (i = 0; i < m; i++)
a[i] = (int *)(malloc(sizeof(int)*n)); //后分配列