int a[2]={1,2}; p=a; p++; *p;
上式指針p先自增,再賦值給p,即p在'p++;'語句執行完后p+1;*p取的值即為a[1];
*p++和*++p的區別:
*p++由於*和++優先級同級,滿足右結合性,從右至左。p先取值,因為此時語句還沒執行完,p未被賦值,故*p++所取的值為a[0],*p++等同於*(p++);
*++p則等同於p++; *p; *++p結果是a[1]。
*(p++)和(*p)++的區別:
*(p++)等同於*p++。(*p)++;在當前語句中*p=a[0],當語句執行完時,*p=a[1]。 ++*p=++(*p)=a[0]+1。