在评论中看到了这样的问题,相信大家也有这种疑惑,那么我们用代码证明一下
#define _CRT_SECURE_NO_WARNINGS 1
# include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("&arr =%p\n", &arr);
printf("&arr +1 =%p\n", &arr + 1);
return 0;
}
运行结果是这个:
&arr表示整个数组 +1向后走整个数组的大小,整个数组的大小是10*4个字节, 所以是BEEE6FF5D8 + 40的十六进制是28 == bEEE6ff600
由此可以证明&数组名是整个数组的地址
此博客知识为了解惑,没有任何嘲笑提问题的人的意思(叠甲)