黑马程序员技术交流社区

标题: 问个简单的问题_关于数组的初始化 [打印本页]

作者: donkey2    时间: 2014-11-15 17:07
标题: 问个简单的问题_关于数组的初始化

问题:假定int类型变量占用4个字节,其有定义:int  x[10]={0,2,4};,则数组x在内存中所占字节数是( )。
A. 3               B. 6                     C. 20                               D. 40



这题选啥,解释一下为什么~
答案我知道,想看看各位的解释是啥样的~
没有初始化的空间是放的随机值呢,还是0呢?还是跟编译环境有关系?

作者: 冰点    时间: 2014-11-15 17:26
占40个字节,int  x[10]={0,2,4};其余的7个初始化为0
作者: 小朱    时间: 2014-11-15 17:57
D 40个字节
作者: hjg8858    时间: 2014-11-15 18:33
这句的效果等效于 int x[10]={0,2,4,t,t,t,t,t,t,t}; 其中t表示随机数。所以是4*10=40byte
作者: donkey2    时间: 2014-11-15 19:55
冰点 发表于 2014-11-15 17:26
占40个字节,int  x[10]={0,2,4};其余的7个初始化为0

嗯,是这样的,谢谢啦~~
作者: donkey2    时间: 2014-11-15 19:56
hjg8858 发表于 2014-11-15 18:33
这句的效果等效于 int x[10]={0,2,4,t,t,t,t,t,t,t}; 其中t表示随机数。所以是4*10=40byte ...

我用xcode试了一下,不是随机值,都是 0 ,有可能c语言的环境下是随机值?
作者: yangsing0    时间: 2014-11-15 20:56

占40个字节,int  x[10]={0,2,4};其余的7个初始化为0
作者: 万合天宜    时间: 2014-11-15 22:02
40字节,数组中int类型的数据初始化没有赋值就默认为0..........所以后边的0也占字节
作者: 一木一浮生    时间: 2014-11-27 15:30
40,如果你初始化对数组中得某元素赋值了,那么其余元素就会被初始化为0,如果初始化的时候一个元素都没有赋值,那么所有元素的值都是随机值




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2