*p++和*++p

来源:互联网 发布:语音导出软件 编辑:程序博客网 时间:2024/05/02 05:06

首先从运算符优先级的问题上看,后置++的优先级高于前置++和*,前置++和*处于同一优先级,遵从从右往左的结合性;

然后在看前置++和后置++的返回值问题:

++x 表达式的值是原值+1,返回自身引用,可以当做左值,

x++ 表达式的值是原值,返回一个临时变量,不能当做左值。

那么问题就好解决了:

*p++: 等价于 *(p++), 指针++,整个表达式的值是p所指的位置的值,而不是p++所指的值;

*++p: 指针++,整个表达式的值是++p所指位置的值。

0 0
原创粉丝点击