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。