C语言指针?

答案是什么,求具体过程,在一维数组中,*(p[2]+1)是什么意思... 答案是什么,求具体过程,在一维数组中,*(p[2]+1)是什么意思 展开
 我来答
microroom
科技发烧友

2020-07-17 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1608万
展开全部
p是int型指针数组,即p的每个元素都是int型指针。由for循环可知,p[0]等于&a[0],p[1]等于&a[4],p[2]等于&a[8]。则p[2]+1=&a[8]+1=&a[9]。
所以,*(p[2]+1)就等于a[9],结果是:10。
追问
那么*(p[2])+1和*(*(p[2])+1)的值又是多少呢?求具体过程
追答
p[2]等于&a[8],*(p[2])就是*(&a[8]),就是a[8],而a[8]等于9,9+1=10。

第2个就是*(10),从逻辑上讲就是取出地址10(把10作为一个地址)中的值,但这不符合语法,因为10是整数类型的,不是指针,不能进行*(解除引用运算)。所以,是语法错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一颗程序猿o_0
2020-07-17 · TA获得超过6298个赞
知道大有可为答主
回答量:5403
采纳率:77%
帮助的人:1355万
展开全部
在循环里, 可以看出 p[2]=&a[2*4], 所以 p[2]=&a[8]
也就是说p[2]是指向a数组中第9个元素的指针
p[2]+1就是将指针向后移动一个单位, 即指向a数组第10个元素(相当于&a[9])
括号前面的星号是从地址中取得对应值, 也就是10
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinaboyzyq
2020-07-17 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3252万
展开全部
p是指针数组
p[2]=&a[8]指向第第九个元素
p[2]+1指向第十个元素
*(p[2]+1)第十个元素的值,也就10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式