C语言, 数组sizeof的有关问题, 懂的人, 一分钟搞定, 求帮忙解惑一下

C语言, 数组sizeof的问题, 懂的人, 一分钟搞定, 求帮忙解惑一下

    int a[100] = {0};
    printf("sizeof(a1): %u\n", sizeof(a));   //输出: 400, ok
    printf("sizeof(&a1): %u\n", sizeof(&a)); //输出: 400, 问题: 为什么不是4?

    //其他:
    //=================================================
    int (*p) [100] = NULL;
    p = &a;
    printf("sizeof(p): %u\n", sizeof(p));    //输出: 4 <= 指针, ok

    //=================================================
    double dValue = 10.0;
    printf("double: %u\n", sizeof(dValue));  //输出: 8, ok
    printf("double: %u\n", sizeof(&dValue)); //输出: 4, ok
------解决思路----------------------
C语言, 数组sizeof的有关问题, 懂的人, 一分钟搞定, 求帮忙解惑一下

是4,编译器问题,我的是VisualStudio2010