键盘手C
2016-04-24 05:56
采纳率: 60%
浏览 1.9k
已采纳

关于java中的二维数组的空间分配问题

在学习java的过程中,碰到这样一个问题
二维数组的问题:
首先1:
规则二维数组的几种写法,其中有一种:
int a[][] = new int[4][10];
这个我是知道的,分配一个4*10的空间
但是:
接下来却写到:
a[0] = new int[10];
a[1] = new int[10];
我不明白的是刚开始已经分配过空间了,为什么后来还要分配呢,望各位能解答
在下先谢谢各位了

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2016-04-24 06:02
    已采纳

    数组的数组的含义是,这是一个数组,数组的每个元素是一个数组。
    数组的数组和二维数组的不同在于,数组的数组每个下标代表的数组可以不一样长,而二维数组是一样长的。
    比如
    int a[][] = new int[4][];
    a[0] = new int[10];
    a[1] = new int[5];
    a[2] = null;
    a[3] = new int[1];
    这样是完全允许的。

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • threenewbee 2016-04-24 06:00

    int a[][] 这个不是二维数组,而是数组的数组
    第一次初始化的是数组的数组
    第二次初始化的是数组的数组中的一个元素,也就是数组

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题