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

&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

展开阅读全文
©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值