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