A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  int[] arr = new[3][2];
在堆内存中开辟了几块空间.

3 个回复

倒序浏览
int[] arr = new[3][2];  首先这是一个二维数组中有三个一维数组 ,每一个一维数组中有两个元素    首先在内存中开辟三个空间用来存放 三个一维数组的地址   然后每个一维数组开辟两个空间存放元素  这一共就开辟了九个空间  个人见解 不知道对不对
回复 使用道具 举报
画个图演示吧。
(1)首先,int[] arr这个局部变量会存储在栈内存,其值执行其在堆中开辟的第一维数组的第1个地址
(2)第1维数组在堆内存是连续的3个地址空间,其中每一个空间分别存储堆内存中不同的二维数组的对应地址值
(3)3个二维数组也分别占连续的两个堆内存地址

无标题.png (71.83 KB, 下载次数: 19)

无标题.png
回复 使用道具 举报
3块空间
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马