本文主要关于演示指针与自增自减运算符结合的时候的运算顺序。
| 表达式 | 含义 |
|---|---|
*p++或*(p++) |
自增前表达式的值是*p,然后自增p |
(*p)++ |
自增前表达式的值是*p,然后自增*p |
*++p或*(++p) |
先自增p,自增后表达式的值是*p |
++*p或++(*p) |
先自增*p,自增后表达式的值是*p |
原理是自增和*在一起时结合顺序由右到左,比如*p++,先运算p++,也就是p当前的值,再运算*p对寻址,再对p自增。
注意以上所有的表达式返回的值都是*p,只不过对分别是对p和*p的自增操作。