当我遍历这个二维指针数组时出现分段错误
宣言:
char **addr;
addr=malloc((y)*sizeof(char)); //y is 3
for(i=0;i<y;i++)
{
*(addr+i)=malloc(x*sizeof(char)); //x is 100
}
独立访问作品:
*(*(addr+2)+0)='a';
printf("%c\n",*(*(addr+2)+0));
无论 y 和 x 是什么,循环都会在 addr[2][0] 处返回分段错误
for(j=0;j<x;j++)
{
for(i=0;i<y;i++)
{
printf("%d %d\n",j,i);
*(*(addr+j)+i)='a';
}
}