求助一道关于C语言的问题

若有定义: int a[2][2];则表达式sizeof(a)的值为( )。
A、0
B、1
C、4
D、8
正确答案: D

为什么选这个答案,麻烦详细解释一下

这个题是很久很久以前的吧?
在当前的主流编译系统下,这个题的答案应该是 16
int a[2][2]数组总共有4个int元素,所以sizeof(a)就是4个int的长度,在目前的编译器环境下,int是32位,也就是4个字节,sizeof是以字节为单位计算空间的,所以是4*4=16
在老早以前的16位编译环境下,int是16位的,也就是2个字节,那结果就是4*2=8
温馨提示:答案为网友推荐,仅供参考
相似回答