c语言:已知二维数组a[i][j],问a+i与a[i]是不是都指向数组第i行(含零行)第一个元素?

如果都指向同一个元素,那么*(a+i)的值和*a[i]的值应该相等?都是a[i][0]?... 如果都指向同一个元素,那么*(a+i)的值和*a[i]的值应该相等?都是a[i][0]? 展开
 我来答
燕慧捷Gn
2011-08-15 · TA获得超过164个赞
知道答主
回答量:73
采纳率:0%
帮助的人:83.8万
展开全部
不是的
这个和二维数组的存储方式有关系,正确的答案应该是*(a+i)和*a[i]相当,但是不等于a[i][0],
因为二维数组也是按照一维方式来存储的,然后再讲一个一个一维数组组合成二维数组,a+i里面存得是第i个一维数组的首地址,而不是数组的第一个值,如果要显示第一个值可以**(a+i)
其实画图一看就很容易明白,可惜现在画不了
hlx7kj9m77
2011-08-15 · TA获得超过352个赞
知道答主
回答量:46
采纳率:0%
帮助的人:46万
展开全部
不是,这是行指针,指向整整【i】行。这里的i包括0。
*(a+i)的值和*a[i]的值相等,都是(&a[i][0]),即a[i][0]的地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
f爱问QQ者
2011-08-15 · TA获得超过1254个赞
知道小有建树答主
回答量:479
采纳率:0%
帮助的人:374万
展开全部
不对。
应该这样,*(a+i)和a[i]的值是相等的,他们的值都是&a[i][0],即a[i][0]的地址
追问
可是a+i与a[i]都指向数组第i行(含零行)第一个元素,为什么*(a+i)的值和*a[i]的值不相等呢
追答
*(a+i)=a[i]这是一个公式,希望能记住,[]的作用相当于*()
a+i指向第i行,这不错,他的值是第i行(含零行)第一个元素的地址,但是他指向的是一整行而不是一个元素(请复习指针数组和数组指针),*(a+i)才是指向a[i][0]
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
frog3211
2011-08-15 · TA获得超过119个赞
知道答主
回答量:45
采纳率:100%
帮助的人:42.2万
展开全部
a[i]和*(a+i)是相等的
a[i][0]和**(a+i)是相等的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式