c语言*p++是什么意思?
16lz
2021-01-22
【*p++】的意思就是先取出指针p指向的地址单元的数据,之后再将该值加1,由于运算符【*】的优先级高于运算符【++】,所以是先取指针p指向的地址单元的数据,在p指向下一位置的数据。
*p++
的意思就是先取出指针p指向的地址单元的数据,之后再将该值加1,由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据,然后,p指向下一位置的数据。【推荐教程:C++教程】
由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。具体如下:
1、取数组当前位置的值*p;
2、然后,p指向下一位置的数据。
代码运行图如下:
*p++ :*和++都是同级运算符,右结合。但++要整个表达式运算完了才运算,先提取P指向对象的值,然后P再做++运算,指向下一个对象。
*(P++) :这个()有点绞水啊,++要整个表达式运算完了才自加,所以同上,提取的还是P指向的对象值,提取后,P就指向下一个对象了。
(*p)++:这个可是不一样啊,人家是先取值,然后值++;
++*p:人家是先取值,然后值++;
为什么有的是值加加有的是地址加加,这就是括号的作用,括号将其绑定为整体。同时也看结合性。
更多相关文章
- 指针常量与常量指针举例说明
- 数据结构中散列表(哈希表)经典之冲突处理
- C中如何声明指向函数的指针?
- 用C++实现数据的管理功能
- 如何在C#中使用Bogus去创建模拟数据
- c++ 图解层序遍历和逐层打印智能指针建造的二叉树
- char是什么数据类型
- 数据结构排序算法总结
- c语言数据类型转换的方法