#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
int main() {
int arr[10] = {1};
printf("%p\n", arr);
printf("%p\n", &arr);
printf("%p\n", arr + 1);
printf("%p\n", &arr + 1);
system("pause");
return 0;
}
运行结果:
006FFE04
006FFE04
006FFE08
006FFE2C
请按任意键继续. . .
由此可知:
arr:代表数组首元素的地址;数组名的值是数组第一个元素的地址;
&arr:代表整个数组的地址;
arr+1:指向数组中下一个元素的地址;
&arr+1:跳过了整个数组的大小。
所以&arr+1与&arr之间的差值为40(int类型)。