我得到分割故障时,我通过这个2-d指针数组段故障〜2-d指针数组循环
声明循环:
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));
循环返回addr [2] [0]处的分段故障,而不管y和x是什么
for(j=0;j<x;j++)
{
for(i=0;i<y;i++)
{
printf("%d %d\n",j,i);
*(*(addr+j)+i)='a';
}
}
+1一般用来做这两种方法的,,我比较喜欢这一个仅仅是因为它对你的指针所处的任何间接级别都是通用的。这条线对于单人,三人,无论如何都是一样的。 – WhozCraig