int a[3] = {1, 2, 3};

 

a:  数组名,数组中第一个元素的地址,相当于 &a[0]

 

&a:整个数组的地址,在数值上等于 a

 

a+1:数组中第二个元素的地址,相当于 &a[1]

 

&a+1:整个数组结束以后后面一个位置的地址

 

即:a = &a,  但  a+1 ≠ &a+1

 

a[0] a[1] a[2]  

 

     ↑            ↑                      ↑

 a = &a      a+1                &a+1

 

关于 sizeof 操作符:

sizeof (a):计算整个数组大小,为 4×3=12 字节

sizeof (a+0):首元素地址,地址大小为4或8字节

sizeof (*a):首元素大小,为4字节

sizeof (&a):取出数组地址,地址大小还是4或8字节

 

posted on 2023-06-12 22:43  wkxnk  阅读(49)  评论(0编辑  收藏  举报