a指向一个含10个int指针的数组,你的原意可能是想让每个指针都指向一个含有10个int数据的数组,但你只给第1个指针指向的数组分配了空间,所以给
a[1][0]赋值时就出错了。
应该这样写:
int **a=(int**)malloc(sizeof(int*)*10);
for(int k=0;k<10;k++)
{
*(a+k)=(int*)malloc(sizeof(int)*10);
}
for(int i=0;i<=3;i++)
for(int j=0;j<=3;j++)
a[i][j]=1;