黑马程序员技术交流社区

标题: 数组声明的疑问 [打印本页]

作者: 潘天功    时间: 2012-11-24 19:01
标题: 数组声明的疑问
本帖最后由 潘天功 于 2012-11-24 20:16 编辑

在数组的声明上为什么要写上一个null呢?例如: int score[] = null ;
作者: 赵红萍    时间: 2012-11-24 19:12
数组的后面只能放两种形式,一种是int score[] =new int [3],或int score[] ={};第二种就是int score[] =null表示没有指向,我们知道在内存中sorce数组中存放的并不是真正的元素,而是元素的地址,所以一般在对数组初始化时,要这么写,是为了安全,在没有使用时先让它不要指向任何地方,在用到它时再指向就可以了,这只是一种良好的习惯
作者: 陈山    时间: 2012-11-24 19:47
int score[]表示的是在栈中创建一个数组的引用,它必须初始化指向一个数组,如果不想指向一个数组,就初始化为null,不然就报错。
作者: 殷士剑    时间: 2012-11-24 20:04
int score[] = null 就是指向空地址的意思,
如果不这样写的话要么指定数组的大小,要么实例化数组,
即:
int score[] = new int[ n ];
int score[] = {1,2,3,4};
否则,数组就要报错啦。
这个得根据你的需求来定。

作者: 潘天功    时间: 2012-11-24 20:15
赵红萍 发表于 2012-11-24 19:12
数组的后面只能放两种形式,一种是int score[] =new int [3],或int score[] ={};第二种就是int score[] =nul ...

哦,明白了、谢谢!




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