数组int a[][] = new int[2][10]
数组int b[][] = new int[10][2]
问a和b哪一个占用内存空间更大,求详解,谢谢!

解决方案 »

  1.   


    int a[][] = new int[2][10]
    int b[][] = new int[10][2]的区别是什么,请楼主告诉我好么
      

  2.   

    第二个开的内存空间要大。
          第一个数组开的空间就是 先开a[0],a[1],在开a[0][10],a[1][10]加起来有22
          第二个数组开的空间是:a[0],a[1]....a[9],在开a[0][0],a[0][1]....a[9][0],a[9][1]加起来有30.   好比用两个桶去装20个东西和用10个桶去装20个东西.
      在存储这方面都只能装同样多的东西,但是对于内存消耗就不同啦。见意你用第一种方式
          
      

  3.   


    数组int a[][] = new int[2][10]
    产生一个二维数组引用和两个一维数组引用,创建一个二维数组对象a和两个一位数组对象a[0],a[1]共创建3个对象,并初始化了20个int型数据
    数组int b[][] = new int[10][2]
    产生一个二维数组引用和十个一位数组引用,创建一个二维数组对象b和10个一位数组对象b[0]~b[9]共创建11个对象,并初始化了20个int型数据
    a开销<b开销