java语言 二维数组空间分配的问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 10:44:39
我用的课本是高等学校教材,《JAVA语言程序设计教程》说 “由于二维数组看作是数组的数组,数组空间不是连续分配的,所以每一维的大小可以不一样。”很不理解。
为什么数组空间不是连续分配的。那是怎样分配的?
C/C++是连续的。JAVA是从他们中发展过来的。空间分配就不是连续的了
请编程高手们指点。
如果不是连续分配的。麻烦下告诉空间是怎样分配的。不连续那就是链表啊。不是指针。空间是怎样分配的??? 是重点
我完全晕菜了~~

二维数组可以这么定义:
//{{1,2},{3,4,5}}
int [][] c=new int [2][]; //2行
c[0]=new int [2]; //第1行 2元素
c[1]=new int [3];//第1行 3元素

由此可知二维数组看作是数组的数组

因为每行的元素个数不同,因此空间不是连续分配的

在Java编程语言中,把数组作为对象来看待,因此在创建数组时必须使用new操作符。
Int[] intArray = new int[100];
[]操作符对于编译器来说是一个标志,它说明正在命名的是一个数组对象而不是普通的变量,由于数组是一个对象,所以它的名字是数组的一个引用;它并不是数组本身。
数组存储在内存中的其它地址中,而intArray仅仅保存着这个地址,所以说不是连续分配的.

教材的意思可能是这样

有个数组可以这样

123456
123
12
1233