【*p++】的意思就是先取出指针p指向的地址单元的数据,之后再将该值加1,由于运算符【*】的优先级高于运算符【++】,所以是先取指针p指向的地址单元的数据,在p指向下一位置的数据。
*p++
的意思就是先取出指针p指向的地址单元的数据,之后再将该值加1,由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据,然后,p指向下一位置的数据。【推荐教程:C++教程】
由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。具体如下:
1、取数组当前位置的值*p;
2、然后,p指向下一位置的数据。
代码运行图如下:
*p++ :*和++都是同级运算符,右结合。但++要整个表达式运算完了才运算,先提取P指向对象的值,然后P再做++运算,指向下一个对象。
*(P++) :这个()有点绞水啊,++要整个表达式运算完了才自加,所以同上,提取的还是P指向的对象值,提取后,P就指向下一个对象了。
(*p)++:这个可是不一样啊,人家是先取值,然后值++;
++*p:人家是先取值,然后值++;
为什么有的是值加加有的是地址加加,这就是括号的作用,括号将其绑定为整体。同时也看结合性。
原文地址:https://www.jb51.cc/csharp/1193276.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。