2-8 *p++的问题

2-8 *p++的问题

您好,*p++代表改变地址后然后取这个地址对应的值(int a=10),可是函数一开始只对原地址进行了赋值,为何改变后的地址也能取到那个值呢?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

您好,*p++表示是*(p++),因为是先求*p,再是p++。因此*p++的值等于10,而p的地址是移动操作之后的值。*p++代表的是取值之后,再移动指针。同学可再根据视频中老师的剖析进行一下理解。如果解决了您的问题,请采纳。祝学习愉快!

  • Mountain_Cui 提问者 #1
    追问一下,那如果是*++p的话,是不是就要报错了?
    2018-07-19 12:28:23
  • 好帮手慕查理 回复 提问者 Mountain_Cui #2
    您好,不会。*++p 取(p+1)处地址的值。在数组中测试int a[5]={1,2,3,4,5}; int *p = a; cout << *++p; 可先测试,数组如何使用指针接下来的课程会讲解。祝学习愉快!
    2018-07-19 13:12:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

C++零基础入门 热门编程语言 二级考试必备
  • 参与学习       529    人
  • 提交作业       110    份
  • 解答问题       594    个

无论您是零基础、还是想晋升,亦或是想转型,C++无疑都是最佳选择。本路径共分为基础语法、指针与引用、面向对象三大模块,为你开启入门C++编程的大门!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师