| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:二维数组初始化问题
只看楼主 加入收藏
大脸猫xiang
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-3-30
结帖率:33.33%
收藏
已结贴  问题点数:5 回复次数:4 
二维数组初始化问题
二维数组当做一维数组的初始化
书上写的语法是:
type[][] arrName;
arrName = new type[length][];

例如:int[][] a;
      a = new int[4][];

我的疑惑是为什么不是 a = new int[][4];
因为一维数组初始化 是 arrName = new type[length];
如果把int[]当做type,那么二维数组初始化就应该是arrName = new int[][length]才对啊
2014-04-19 21:10
xixiqiqi
Rank: 2
等 级:论坛游民
帖 子:22
专家分:71
注 册:2013-10-10
收藏
得分:3 
这个问题还不是很好表达。
创建多维数组时,最基本的规则首先是要从低维到高维创建每一维数组。也就是说,创建三维数组要先创建二维数组,要创建二维数组要先创建一维数组..
如,
int[][][] a;
a = new int[4][3][]; // 现在要创建三维数组
                     // 首先创建了4个二维数组(引用),a[0]、a[1]、a[2]、a[3]被创建,最低维被创建完毕
                     // 然后为4个二维数组分别创建3个一维数组(引用),a[0][0]、a[0][1]、...次低维被创建完毕
                     // 以上的创建都只是在为引用变量创建空间
a[0][0] = new int[2];// 最后创建一维数组并初始化数组
                     // 最后一步是创建存放int数据的空间
a          -- 引用(变量),引用三维数组
a[0]       -- 引用(变量),引用二维数组
a[0][0]    -- 引用(变量),引用一维数组
a[0][0][0] -- int变量,代表一个值  

正因为如此,java数组可以创建最高维不等长的数组,c只能创建等长数组。
2014-04-19 22:50
大脸猫xiang
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-3-30
收藏
得分:0 
看的还是有点晕,哎,算了,这个语法死记住就好了
2014-04-20 18:46
鸥翔鱼游
Rank: 5Rank: 5
等 级:职业侠客
帖 子:182
专家分:323
注 册:2014-4-19
收藏
得分:3 
且学且珍惜,得认学习真正消化
2014-04-24 14:56
guaerjia9033
Rank: 1
等 级:新手上路
威 望:2
帖 子:6
专家分:3
注 册:2014-6-2
收藏
得分:0 
数组元素类型 数组名 = new 数组元素类型【个数】【个数】

初始化:type arrayname[][] = {value1,value2..valuen};
2014-06-02 11:26
快速回复:二维数组初始化问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.083045 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved