int main()
{
int a[3] = { 0,9,2 };
printf("%d\n", a); // 732951912
printf("%d\n", *a); // 0
printf("%d\n", &a); // 732951912
printf("%d\n", a+1); // 732951916
printf("%d\n", *(a+1)); // 9
printf("%d\n", *a+1); // 1
printf("%d\n", &a+1); // 732951924
printf("%d\n", *(&a)); // 732951912
printf("%d\n", *(&a+1)); // 732951924
}
a:数组首元素的地址
*a:数组首元素的值
&a:数组的首地址
a+1:数组第二个元素的地址
*(a+1):数组第二个元素的值
*a+1:数组首元素的值+1
&a+1:数组首地址加上整个数组所占的空间,有三个元素则+3*4
*(&a):数组首元素的地址的地址的值,也就是数组首元素的地址 (感觉有点绕,不知道对不对)
*(&a+1):(&a+1)的地址