当前位置: 技术问答>java相关
请教:关于多维数组初始化的小问题
来源: 互联网 发布时间:2015-01-14
本文导语: 在语句: int[][][] a=new int[3][3][3]; 执行后,共创建了多少个句柄(引用)? 我认为是40个,例如 a指一个三维数组,a(1)指一个二维数组,是这样吗? | 应该是13个引用。 即 a, a[0]...a[2], a[0][0...
在语句:
int[][][] a=new int[3][3][3];
执行后,共创建了多少个句柄(引用)?
我认为是40个,例如 a指一个三维数组,a(1)指一个二维数组,是这样吗?
int[][][] a=new int[3][3][3];
执行后,共创建了多少个句柄(引用)?
我认为是40个,例如 a指一个三维数组,a(1)指一个二维数组,是这样吗?
|
应该是13个引用。
即 a, a[0]...a[2], a[0][0]...a[2][2]
1个 + 3个 + 9个
a[i][j][k]没有自己单独的引用。只能通过数组访问。
即 a, a[0]...a[2], a[0][0]...a[2][2]
1个 + 3个 + 9个
a[i][j][k]没有自己单独的引用。只能通过数组访问。
|
第一维存放三个指向二维数组的引用(a[0][][],a[1][][],a[3][][]),
第二维存放各存放三个指向一维数组的引用(a[0][0][],a[0][1][],a[0][2][]...a[2][2][]),
共9个,
最后加一个a,指向一个三维数组,
a[1][1][1]里面放的不是引用,是一个整数数值。。
一开始想错了,多谢clavy纠正。。
第二维存放各存放三个指向一维数组的引用(a[0][0][],a[0][1][],a[0][2][]...a[2][2][]),
共9个,
最后加一个a,指向一个三维数组,
a[1][1][1]里面放的不是引用,是一个整数数值。。
一开始想错了,多谢clavy纠正。。