Java细节05——Java与C定义二维数据时下标省略的区别

Java定义二维数组的省略格式

	int[][] arr = new int[3][];
	arr[0] = new int[2];
	arr[1] = new int[1];
	arr[2] = new int[3];

C语言定义二维数组的省略格式

	int a[][2] = {1, 2, 3, 4};

它们省略的长度不一样,这是为什么呢?
Java的二维数组是数组的数组,也就是二维数组中的每一个元素是某个一维数组的引用,这和C语言的指针数组有点像。Java的数组都是在堆中分配空间的,数组空间是不连续的,这就不需要二维数组中每一维的长度相同。
C语言的二维数组是在栈中分配空间的,空间是连续的。在C语言中,二维数组是按行排列,存储一行再存储一行,是按照多条长度相同的一维数组组成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值