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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 潘天功 中级黑马   /  2012-11-24 19:01  /  1817 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 潘天功 于 2012-11-24 20:16 编辑

在数组的声明上为什么要写上一个null呢?例如: int score[] = null ;

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

4 个回复

倒序浏览
数组的后面只能放两种形式,一种是int score[] =new int [3],或int score[] ={};第二种就是int score[] =null表示没有指向,我们知道在内存中sorce数组中存放的并不是真正的元素,而是元素的地址,所以一般在对数组初始化时,要这么写,是为了安全,在没有使用时先让它不要指向任何地方,在用到它时再指向就可以了,这只是一种良好的习惯

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
int score[]表示的是在栈中创建一个数组的引用,它必须初始化指向一个数组,如果不想指向一个数组,就初始化为null,不然就报错。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
int score[] = null 就是指向空地址的意思,
如果不这样写的话要么指定数组的大小,要么实例化数组,
即:
int score[] = new int[ n ];
int score[] = {1,2,3,4};
否则,数组就要报错啦。
这个得根据你的需求来定。
回复 使用道具 举报
赵红萍 发表于 2012-11-24 19:12
数组的后面只能放两种形式,一种是int score[] =new int [3],或int score[] ={};第二种就是int score[] =nul ...

哦,明白了、谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马