P++與p+=1的區別,我這樣理解對嗎?
int a[4] = {1,2,3,4};
int *p = a;
//1.p++的情況
p++;//我的理解是p指的地址發生偏移,但是p本身地址不變,,還是指向a[0]
*(p+1)的值是2
//2.假如沒有執行上面的p++。執行p+=1
p+=1;//p所指的地址偏移4字節,并且P本身的地址也發生變化,指向a[1]
*(p+1)的值是3
int a[4] = {1,2,3,4};
int *p = a;
//1.p++的情況
p++;//我的理解是p指的地址發生偏移,但是p本身地址不變,,還是指向a[0]
*(p+1)的值是2
//2.假如沒有執行上面的p++。執行p+=1
p+=1;//p所指的地址偏移4字節,并且P本身的地址也發生變化,指向a[1]
*(p+1)的值是3
2019-01-23
舉報
2019-01-23
p++和p+=1是一樣的,都是p本身指向的位置發生了變化,int *p=a;? 之后執行p++或者p+=1,*(p+1)的值都是3。