C语言用malloc定义二维数组问题
网上找的 暂时看不太懂 收藏
#include "stdio.h"
#include "stdlib.h"
main()
{
int **p,i;
p=(int **)malloc(sizeof(int)*5);
for(i=0;i<5;i++)
{
p[i]=(int *)malloc(sizeof(int)*5);
}
}
[解决办法]
p=(int **)malloc(sizeof(int)*5);
分配一个数组大小为5,指向int*的数组
p[i]=(int *)malloc(sizeof(int)*5);
在对数组中的每个元素指向一块内存为40空间的首地址。
相当于int p[5][5]