黑马程序员技术交流社区

标题: 为什么定义一个二维数组,行数可以省略,列数不可以 [打印本页]

作者: 墨琰    时间: 2015-8-13 23:07
标题: 为什么定义一个二维数组,行数可以省略,列数不可以
求解答

作者: 新生heima    时间: 2015-8-13 23:15
定义二维数组时,省略之后要让计算机能够确定你定义的几行几列才可以,假如你省略行数,但是确定了列数,计算机会根据你的列数的数值以及你初始化时给的数据,自动确定行数,因此行数可以省略。但是如果给了行数但没有确定列数,对于你初始化的数据,计算机不知道怎么划分,是平均分呢?还是其他方式分呢?这是没有规定的,这样子会出现错误
作者: 墨琰    时间: 2015-8-13 23:22
新生heima 发表于 2015-8-13 23:15
定义二维数组时,省略之后要让计算机能够确定你定义的几行几列才可以,假如你省略行数,但是确定了列数,计 ...

thanks 解惑了  多谢了
作者: woxingwosu    时间: 2015-8-13 23:26
我个人这么理解的,拿inta[x][y]类型比喻,行数相当于x个盒子,每个盒子里得明确有多少个int,才能确定分给这个盒子多少字节,如果不定义,可能所有的int都会装进第一个盒子里面。
作者: WPeng    时间: 2015-8-13 23:57
后面加括号就对了
作者: 翟宇浩    时间: 2015-8-14 09:51
你可以理解为列数表示每几个元素是一组,而行数表示一共几组,因为数组定义的时候可以存在部分初始化,即数组元素的个数可能不是数组全部的个数,如果我们只定义了行数就无法知道每列有几个元素,而我们定义了列数以后,我们就可以将元素分组,不够一组的元素可以补零。
作者: 愿得一人心1111    时间: 2015-8-14 18:58
我也有同样的疑惑




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