为啥数组名的地址和给数组名求地址得到的地址结果是一样的

为何数组名的地址和给数组名求地址得到的地址结果是一样的啊
// basic_string_get_allocator.cpp
// compile with: /EHsc
#include <string>
#include <iostream>
#include "stdio.h"

int main( ) 
{
int a[2] = {0};
printf("%p\n",a);//代表的是数组首元素的地址
printf("%p\n",&a);
}

003AF730
003AF730
请按任意键继续. . .
------解决思路----------------------
数值一样而已,含义不一眼,各自+1再比较你几知道有什么区别了。
------解决思路----------------------
那就是语义上的差别,不是值上的差别了。
《C和指针》 8章专门讲了数组和指针的各种关系,一定要认真读。