C中数组存储空间问题
程序代码:
# include <stdio.h> int main(void) { int a[5]; printf("%d", sizeof(a)); return 0; }vc++6.0输出结果为:20
我想问下:
1、数组名存放数组首地址这句话到底如何解释?
2、数组到底如何存储的?从输出结果看,a[5]数组长度为20,那么每个int类型元素4个字节,没有地方给数组存放首地址啊?
感谢围观,期待中?
# include <stdio.h> int main(void) { int a[5]; printf("sizeof(a) = %d\n", sizeof(a)); printf("a = %0x\n",a); printf("&a[0] = %0x\n&a[1] = %0x\n&a[2] = %0x\n&a[3] = %0x\n&a[4] = %0x\n",&a[0],&a[1],&a[2],&a[3],&a[4]); return 0; }