为什么要有二维数组,一个学校有很多班级存这个班级需要一个数组,然后这个数组中的每个元素又代表一个班级,班级下有很多学生,使用二维数组就可以很好得存储这样的数据

二维数组+内存图+经典习题

二维数组+内存图+经典习题

示例如下

二维数组+内存图+经典习题

如下图,刚刚定义好的二维数组在内存中的存储形式如下,方格里的为其值,下面的为下标

二维数组+内存图+经典习题

二维数组+内存图+经典习题

看看如下代码,注释部分为其输出,想想为什么(必须要先思考,然后看下面我的解释)

二维数组+内存图+经典习题

上图代码解析:打印arr结果为地址值,从上面的二维数组内存图可以看出,这里不多说

打印每个一维数组结果都为空,想想把一维数组看成班级,现在仅仅定义了班级的名字,而它的大小(其下数组的长度)

还没定义,也就是默的0,那么它还没赋值,一维数组是引用类型(不懂没关系,后面会学)没赋值就是null。

然后后面赋值后,就有了班级里的学生,怎么进行关联的呢,此时班级会指向其下学生的一维数组来进行关联,如上面二维数组内存图,然后我们所说的“学生”其实在这里只是一个个整数,而没赋值的整数为0,所以输出为0。

懂了后再看看下图图版解析

二维数组+内存图+经典习题

二维数组+内存图+经典习题

示例如下

二维数组+内存图+经典习题

二维数组+内存图+经典习题

练习一:用静态赋值方式定义一个二维数组并进行遍历

二维数组+内存图+经典习题

改进后,把第一次第二次遍历的次数都改为数组长度,如下(不可能你定义了一万多个数你还去数他的具体长度吧)

二维数组+内存图+经典习题

练习二

二维数组+内存图+经典习题

练习三

二维数组+内存图+经典习题

二维数组+内存图+经典习题

分析给了,答案就不给了,这道题主要考的是一个思维逻辑以及对二维数组的遍历的综合

相关文章:

  • 2021-04-20
  • 2021-08-05
  • 2021-07-27
  • 2021-12-30
  • 2021-10-22
  • 2021-07-24
  • 2021-11-14
  • 2022-12-23
猜你喜欢
  • 2021-05-20
  • 2021-12-28
  • 2021-11-01
  • 2021-05-29
  • 2022-12-23
  • 2021-11-04
  • 2021-11-23
相关资源
相似解决方案