数组的地址+1 和 指向数组的指针+1 区别

来源:互联网 发布:淘宝减肥产品靠谱吗 编辑:程序博客网 时间:2024/05/17 04:17

&a+1,相当于加了数组的一个单位(也就是一行),即&a[5]。并不是网上流传的错误答案加sizeof大小。

int a[5]={1,2,3,4,5}int *p=(int *)(&a+1)printf("%d", *(p-1))

&a 和 a 都是指数组的第一个元素所在地址
&a+1,相当于加了数组的一个单位(也就是一行),即&a[5]
指针p-1相当于前移一个元素,输出为5

0 0