1、 *p++
由于++和* 同优先级,结合方向自右向左,因此它等价于*(p++)。根据运算顺序,应该先引用p的值,再进行p++。所以先实现*p的运算,再使p自增1。
2、 *(p++)与 * (++p)作用是否相同?
不相同。
若p=a(即p=&a[0])
*(p++)先取 *p的值,再使p加1,则得到a[0]的值。
*(++p)先使p加1,再取 *p,则得到a[1]的值。
3、++(*p)
表示p所指向的元素值加1。
若p=a(即p=&a[0])。
则++(*p)相当于++a[0]。
若a[0]的初值为10,则执行完++(*p),a[0]的值为11.
注意:是元素a[0]的值加1,不是指针p的值加1.
4、*(p --)与 *(-- p)
*(p- -)先对p进行“ * ”运算(求p所指向元素的值),再使p自减。
*(- -p)先使p自减,进行“ * ”运算。