C语言指针&指针值的自增与自减
*p++ 、*(p++)、(*p)++、*++p、 ++*p
- *p++ & *(p++):先取*p的值,再对指针地址自增
- A = *p++ 即 A = *p, p = p+1.
- 根据优先级顺序,自增自减运算符 和 *(地址) 取值运算符优先级相同都是2,但这里注意它们的结合姓,都是右往左。所以*p++与*(p++)是等价的。1
- (*p)++:先取*p的值,再对指针内的值自增
- A = (*p)++ 即 A = *p, *p = *p+1
- *++p:先指针地址自增,后取值
- A = *++p = *(++p)
- ++*p:先对指针内的值自增,后取值
- A = ++*p 即 A = (*p)+1, *p = *p+1