首页 > 其他 > 详细

“*++p”,"*p++","(*p)++","*(p++)"

时间:2020-12-14 23:59:20      阅读:59      评论:0      收藏:0      [点我收藏+]

技术分享图片
技术分享图片
上面的两张图片分别为是调代码和运行结果,从上述结果可以知道输出结果均为数组中的数值,而不是地址。“++”的运算符比“”优先级高。
++p”表示的是先输出原本“p”的值,在地址p自增一个字节,原本输出的时a[0],后面输出的是a[1]。
p++”表示的是p指向的地址先自增一个字节,输出a[2]的值,后面输出的p和a[2]一样。
上述两者一般的变化与一个整形变量“a++”,“++a”是基本相同的。两者都要自增一,但是前面的是先输出a在输出a自增的值,后者是直接自增后的值。
“(
p)++”表示的是先输出未自增的p的值,后面输出的是(p)的值直接自加1,这个表示的是对p指向的地址的值自增一。
(p++)”表示的是p指向的地址自增一个字节,输出的是a[3]的值。这里的地址还是a[2],所以p指向的地址先自增一个字节,输出自增后的地址对应的p。

“*++p”,"*p++","(*p)++","*(p++)"

原文:https://www.cnblogs.com/fcz1221/p/14136326.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!