黑马程序员技术交流社区
标题:
一个2维数组在堆内存中开辟了几块空间
[打印本页]
作者:
zk342577507
时间:
2016-3-6 22:56
标题:
一个2维数组在堆内存中开辟了几块空间
int[] arr = new[3][2];
在堆内存中开辟了几块空间.
作者:
lixianglei
时间:
2016-3-6 23:18
int[] arr = new[3][2]; 首先这是一个二维数组中有三个一维数组 ,每一个一维数组中有两个元素 首先在内存中开辟三个空间用来存放 三个一维数组的地址 然后每个一维数组开辟两个空间存放元素 这一共就开辟了九个空间
个人见解 不知道对不对
作者:
玉质彼端
时间:
2016-3-7 01:49
画个图演示吧。
(1)首先,int[] arr这个局部变量会存储在栈内存,其值执行其在堆中开辟的第一维数组的第1个地址
(2)第1维数组在堆内存是连续的3个地址空间,其中每一个空间分别存储堆内存中不同的二维数组的对应地址值
(3)3个二维数组也分别占连续的两个堆内存地址
无标题.png
(71.83 KB, 下载次数: 19)
下载附件
2016-3-7 01:40 上传
作者:
xanx14710
时间:
2016-3-7 14:12
3块空间
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2