首页 > 常见问题 > 正文

*p+1和*(p+1)有什么区别

zbt
发布: 2023-06-25 14:04:48
原创
6853 人浏览过

*p+1和*(p+1)的区别有:1、优先级不同,p+1中,会先解引用p,而*(p+1)中,会先计算p+1;2、操作对象不同,p+1是先对p解引用,而(p+1)是先将p加1;3、结果不同,p+1是p指向的对象的值加1,(p+1)是p指向的下一个对象的值。

*p+1和*(p+1)有什么区别

本教程操作环境:windows10系统、DELL G3电脑。

*p+1和*(p+1)有什么区别呢?相信不少网友朋友还不太清楚,今天小编就给大家带来了相关的教程,希望能够帮到大家。

截图20230625135210.png

一、优先级不同

p+1和(p+1)在操作优先级上有所不同。在C/C++中,运算符(解引用运算符)和+(加法运算符)的优先级不同。加法运算符的优先级低于解引用运算符。因此,在p+1中,会先解引用p,然后再加1;在*(p+1)中,因为加括号改变了优先级,会先计算p+1,然后再解引用。

二、操作对象不同

p+1和(p+1)操作的对象也有区别。p+1是先对p解引用,得到p指向的对象,然后对该对象加1。而(p+1)是先将p加1,使其指向下一个对象,然后对该新对象进行解引用。

三、结果不同

p+1和(p+1)的结果是不同的。p+1先解引用p,再加1,所以结果是p指向的对象的值加1。而(p+1)是将p加1,然后解引用,所以结果是p指向的下一个对象的值。

以上是*p+1和*(p+1)有什么区别的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
p+1
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!