这算VC6++的BUG吧,sizeof &数组名 输出了数组的大小?

来自与某小伙伴的提问,说sizeof &数组名 和sizeof 数组名都输出数组的大小,我当时就震惊了!
&数组名 应该是数组的指针啊,sizeof 指针 肯定是指针的大小啊。然后他截图给我看,他说用的是VC6++的编译器!

不是吧,数组名的值虽然是数组首地址,但它并不是指针变量啊,你可以理解一下下面的代码,前者是5个int的长度,后者才是单个指针变量的长度

    int a[5];
    int *p = a;

    printf("sizeof(a) = %d sizeof(p) = %d\n", sizeof(a), sizeof(p));