A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

学习C语言这么久还是一看到指针就晕了
求解*p++ 和 (*p)++还有*(p++)三者之间的区别
求详细分析过程和原理

5 个回复

倒序浏览
同求 ,自己看视频 到指针 同感蒙圈
回复 使用道具 举报
()相当于取值运算,*是取内容运算, p++ ,那p就是数组指针,也就是数组吧, 那p++就代表 p指针指向下一个数组元素,,也就是指针地址 增加数组类型所占地址的大小
回复 使用道具 举报
楼上说的很详细.是不同的取值操作
回复 使用道具 举报
从题目上来看,p应该是指向数组的。个人感觉(*p)++是把值取出来+1,还有*(p++)是取出下一个元素的值,*p++这个我也没搞懂。
回复 使用道具 举报
就是运算优先级的问题. 注意的是p是地址, 如果是char, *(p+1)是向后移动一个字节, 如果是long long是移动八个字节.因为对纯地址进行加法操作是没有意义的. 要根据指针指向的数据判断
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马