pa++和*pa++有什么区别jdnxjkdkdksmxnd
pa++是指针向后移动一位
*pa++是指针向后移动一位,再返回pa指向的值
pa++和*pa++有什么区别
那实际上就是pa和*pa的区别
pa是指针地址,*pa是值
那就看你是要移动指针的位置还是把值自增
(p++)是在p所指向的地址上+1 (*p)++是在p所指向的数据上+1
int a[2] = {1, 2};
int* p = &a[0];
int* p1 = p++;//p++表示p+4 p+1,即a[1]位置
int b = *p1;//b = 2
int c = *p++;//因为有两个运算符,*和++,两个运算符同级,因此要按照他们的结合规律来运算,该级结合律为从右到左
//因此,就有两步:第一步:p++, 第二步:*p
//但是第一步的++运算是先使用p然后再对p进行+1,所有步骤为:第一:*p 第二步: p = p + 1
//c = 1;
p = &a[0];
int d = *++p;//d = 2