黑马程序员技术交流社区

标题: 关于二维数组的问题 [打印本页]

作者: kcufow    时间: 2016-4-11 21:58
标题: 关于二维数组的问题
本帖最后由 kcufow 于 2016-4-12 14:23 编辑

int [][]arr= new int[3][2];表示一个二维数组里面包含3个一维数组,每个一维数组中包含2个元素。
int [][]arr= new int[3][];这个表示什么呢?
又查了一下资料 附一张图片应该能看懂了

二维数组格式2的内存图解.png (1.93 MB, 下载次数: 18)

二维数组格式2的内存图解.png

作者: 董改名    时间: 2016-4-11 22:44
初始化的时候,第一维的数字代表分配内存倍数,第二维的数字代表分配内存长度,第一维可省略,第二维不能省略,至于为什么,我不太清楚。
作者: 夜语    时间: 2016-4-11 22:58
楼上的,如果你不指第一维数组,哪来的二维数组,第一维数组是不能忽略,只有指定了一维数组的长度才可以有二维数组存在,不然就是空中楼阁
作者: 马儿不吃草    时间: 2016-4-11 23:16
三个默认长度为零的一维数组呗
作者: fanxiaolin    时间: 2016-4-11 23:25
arr[3]表示的是2唯数组中的有3个一唯数组,后面的责是代表二唯数组中的一唯数组的元素!
作者: Q灬先生    时间: 2016-4-11 23:48
int [][]arr= new arr[3][];这个表示三个长度为零的一维数组呗。

作者: kcufow    时间: 2016-4-12 10:56
Q灬先生 发表于 2016-4-11 23:48
int [][]arr= new arr[3][];这个表示三个长度为零的一维数组呗。

看来不是我自己不知道这个问题。。。
作者: Q灬先生    时间: 2016-4-12 22:26
好吧,这都被你发现了!





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