如图可知:
在C语言中,*和++运算符都是二级,优先级相同,但是,在*p++或*++p中,运算顺序是自右向左,所以它们俩都是代表p移动一个数据类型的地址
++分为p++或者++p,
在p++中,*p++相当于(*p)++:也就是先*p后p指针再往后移一个数据单位即:
1、*p 2、*p = p+1;(注意,p是a的地址,所以p+1也就是指针往后挪了一个数据单位)
在++p中,*++p:也就是先执行p+1然后再执行*p即:
1、p = p+1; 2、*p;
要想通过指针p改变指针所指向的值就得先*p然后给*p赋值,同时所赋值必须是p所指向的那个值的数据类型。如: