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字节