A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© donkey2 中级黑马   /  2014-11-15 17:07  /  1952 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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



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

8 个回复

倒序浏览
占40个字节,int  x[10]={0,2,4};其余的7个初始化为0
回复 使用道具 举报
D 40个字节
回复 使用道具 举报
这句的效果等效于 int x[10]={0,2,4,t,t,t,t,t,t,t}; 其中t表示随机数。所以是4*10=40byte
回复 使用道具 举报
冰点 发表于 2014-11-15 17:26
占40个字节,int  x[10]={0,2,4};其余的7个初始化为0

嗯,是这样的,谢谢啦~~
回复 使用道具 举报
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语言的环境下是随机值?
回复 使用道具 举报

占40个字节,int  x[10]={0,2,4};其余的7个初始化为0
回复 使用道具 举报
40字节,数组中int类型的数据初始化没有赋值就默认为0..........所以后边的0也占字节
回复 使用道具 举报
40,如果你初始化对数组中得某元素赋值了,那么其余元素就会被初始化为0,如果初始化的时候一个元素都没有赋值,那么所有元素的值都是随机值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马