请教C语言指针中 &p[0] p+i *(p+i) p[i] 区别 一直感觉很迷茫

 我来答
avatian1
2011-06-07 · TA获得超过1万个赞
知道大有可为答主
回答量:6315
采纳率:0%
帮助的人:2671万
展开全部
假如你有这样的定义:int p[10];
则:
&p[0] 是数组p的第一个元素的地址,跟p一样都是数组p的起始地址
p+i 由于p是数组的起始地址,则p+i就是从起始地址开始向后偏移i个位置的元素的地址,如:p+2 表示的是元素p[2]的地址&p[2]
p[i] 是指数组下标为i的元素。
对于一维数组来说有一个恒等式:p[i]=*(p+i) 变化一下就变成:p+i=&p[i]
屋哥
2011-06-07 · TA获得超过1057个赞
知道小有建树答主
回答量:1282
采纳率:0%
帮助的人:549万
展开全部
p[0] 和p[i]差不多,都是取值
*(p+i) 和p[i]一回事
&p[0]是取p[0]这个值存放的位置(地址)
p+i是计算位置(地址)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式