C语言指针指向数组问题
inta[3][3],*p,i;p=&a[0][0];for(i=1;i<9;i++)p[i]=i+1;//这里循环P[i]也就是p[1]p[i]=i+1也应该等价于p[...
int a[3][3],*p,i;
p=&a[0][0];
for(i=1;i<9;i++)p[i]=i+1;//这里 循环P[i]也就是p[1] p[i]=i+1也应该等价于p[1]=i+1而 指向数组,p[1]应该指向的是a[1][0]才是,可是这样理解明显对于这道题是错误的,请问到底哪里错了
printf("%d\n",a[1][2]); 展开
p=&a[0][0];
for(i=1;i<9;i++)p[i]=i+1;//这里 循环P[i]也就是p[1] p[i]=i+1也应该等价于p[1]=i+1而 指向数组,p[1]应该指向的是a[1][0]才是,可是这样理解明显对于这道题是错误的,请问到底哪里错了
printf("%d\n",a[1][2]); 展开
6个回答
展开全部
这都不懂啊,
p=&a[0][0];
p为指向列的,
p=a,p是指向行的,应该这样定义
int ( *p)[3];
p=&a[0][0];
p为指向列的,
p=a,p是指向行的,应该这样定义
int ( *p)[3];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
循环P[i]实际上是为a[0][0],a[1][0],a[2][0]。
追问
这个怎么理解?
追答
乱了乱了,看不明白你要问的东西了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“p=&a[0][0];”貌似应该改成“p=&a;”;
而且p[1]应该是指向的a[0][1];
而且p[1]应该是指向的a[0][1];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
地址排序a[0][0]a[0][1]而不是 a[0][0]a[1][0]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上楼正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询