在数组指针中为什么是*(p+1)+2而不是(p+1)+2表示数组a第一行第二列的元素的地址?

 我来答
太原大海
2015-01-29 · TA获得超过799个赞
知道小有建树答主
回答量:553
采纳率:75%
帮助的人:324万
展开全部
若定义数组
int a[3][4],*p=a[0];
将二维数组看成是一维数组,即 a[3]这个部分为一维数组的数组名,[4]这部分看成为一维数组的元素个数。这样就有数组名为a[0]的一维数组,其元素为a[0][0],a[0][1]……等等。
而*(p+0)就是a[0],且是个地址,代表理解上的一维数组名。*(p+1)也是地址,是a[1],a[1]+2就肯定是地址了,即*(p+1)+2一定是地址,*(*(p+1)+2)是a[1][2]元素。(p+1)+2肯定不是正确表示这一元素的地址了。
lajibaodu
2015-01-28 · TA获得超过1067个赞
知道小有建树答主
回答量:694
采纳率:100%
帮助的人:234万
展开全部
能否来个你现在的代码,详细给你讲讲~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式