zoukankan      html  css  js  c++  java
  • java中二维数组内存分配

    区分三种初始化方式:

    格式一:

        数据类型[][] 数组名 = new 数据类型[m][n];

              m:表示这个二维数组有多少个一维数组。
              n:表示每一个一维数组的元素有多少个。

        //例:int arr[][]=new int[3][2];

        如下图

     

     

    格式二:

        数据类型[][] 数组名 = new 数据类型[m][];
          m:表示这个二维数组有多少个一维数组。
          列数没有给出,可以动态的给。这一次是一个变化的列数。

    如下图

    格式三:
        基本格式:
          数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};
        简化版格式:
          数据类型[][] 数组名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};

    如下图:

    内存分配详解:

    引用类型的默认值为null,定义二维数组时,会在堆内存为其分配内存空间(必须知道二维数组的行数,即一维数组的个数,才能够为其分配内存空间),首先给一个地址值0x001给arr,然后为二维数组里的一维数组分配内存空间,分别给一个地址值给一维数组,即0x0001给arr[0],0x0002给arr[1],0x0003给arr[2]。如果arr[3][]第二个元素值没有给出(相当于里面的一维数组的元素个数不知道),即以格式2定义二维数组,那么就无法为一维数组静态的分配内存空间了,即打印出来的arr[0],arr[1],arr[2]地址值是默认值null,可以动态的为其分配内存空间。

  • 相关阅读:
    软工试水日报 3/7
    软工试水日报 3/6
    软工试水日报 3/5
    软工试水日报 3/4
    软工试水日报 3/3
    大二下学期每日总结之第一次个人作业(第二阶段:生成excel)
    大二下学期每日总结之第一次个人作业(第一阶段)
    大二下学期每日总结之第一次个人作业(第一阶段)
    大二下学期每日总结
    大二下学期每日总结
  • 原文地址:https://www.cnblogs.com/zhaoyuan72/p/10751303.html
Copyright © 2011-2022 走看看