本文摘自PHP中文网,作者醉折花枝作酒筹,侵删。
“*p++”和“(*p)++”的区别是:1、“*p++”示取p所指单元的值,p指向下一单元,即p自加1。“*p++”是指下一个地址。2、“(*p)++”是指将*p所指的数据的值加一。
本教程操作环境:windows7系统、C++17版本、Dell G3电脑。
区别:
1、*p++示取p所指单元的值,p指向下一单元,即p自加1。*p++是指下一个地址。
2、(*p)++是指将*p所指的数据的值加一。
C编译器认为*和++是同优先级操作符,且都是从右至左结合的,所以*p++中的++只作用在p上,和*(p++)意思一样;在(*p)++中,由于()的优先级比*和++都高,所以++作用在()内的表达式*p上。
比如有:
int x,y,a[]={1,2,3,4,5},*p=a,*q=a;
x=*p++;//执行这一句后x=a[0]=1,p=a+1
y=(*q)++;//执行这一句后,y=a[0]+1=2,q仍然=a
扩展资料:
验证程序1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
程序2
1 2 3 4 5 6 7 8 |
|
程序3:
相关阅读 >>
更多相关阅读请进入《*p++》频道 >>
C#高级编程(第11版) C# 7 & .NET Core 2.0(.NET开发经典名著)
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。