大家来看一看啊,这个错了么

img


这个是多少个字节啊,答案选B,为啥啊,是不是答案错了,搞不懂,到30字了吧


#include<stdio.h>


int main() {
    int x[10] = {0, 2, 4};
    printf("%d", sizeof(x));
    return 0;
}

img

确实是 40

答案错误,应该是 D,静态数组 10 * 4 = 40.
B是这种情况: int x[] = {0,2,4} ,此时 3 * 4 = 12.

就是12个字节,虽然你定义了一个数组,数组只是表示动态空间的匹配,只有有了确定的值后才会申请到具体的内存空间,所以是12字节