C语言:通过指针引用多维数组一节中,二维数组a[0]和*(a+0)等价,怎么理解?

 我来答
笃侠6A
2014-06-20 · TA获得超过3734个赞
知道大有可为答主
回答量:3205
采纳率:75%
帮助的人:3267万
展开全部
理解这个问题的要点是: 二维数组是 元素为一维数组的一维数组。
于是
a[0]是作为二维数组首元素的一维数组名,所以a[0]表示一维数组(实际是二维数组首行)首元素的地址,即,a[0]是a[0][0]的地址;
数组名a是指针,指向其首元素(a[0]),即其值为&a[0](&a[0]指向a[0][0]),所以*(a)(即*(a+0))指向指向a[0][0];所以,a[0]与*(a+0)等价,都是指向a[0][0]。
不知这样说能不能理解。
jia901022
2014-06-20 · 超过27用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:61.2万
展开全部
a[0]表示在数组a中的第一个元素。
*(a+0)要理解这个首先要知道*a表示指向数组a的指针的值。
一般都是指向第一个,而指针加0则表示指针指向的偏移量加0.加0之后还是0,也就是没有偏移,即*(a+0)等价于a[0].
更多追问追答
追问
好像有点明白了,但又不太懂,我再慢慢想想,想通了就采纳你的。。。^_^
噢,想起来了,为啥*(a+0)变成地址了呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式