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
举报