二维数组动态分配方法
C语言中对于二维数组可以只定义列而不定义行,当我们想要定义行和列时,如想定义p[3] [ 4可以用如下方法:
int **p;//int*p是指向int的指针,int**p是指向一级指针的指针
p = (int**p)malloc(sizeof(int*)*4);//malloc动态分配内存定义行
for(int i = 0;i<4;i++)
{
p[i] = (int *)malloc(sizeof(int)*3)//定义列
}
可按以下图示理解(十二个位子全部存放的是int*型的指针):