1. 程式人生 > >陣列的地址+1 和 指向陣列的指標+1 區別

陣列的地址+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