栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

int数组初始化

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

int数组初始化

首先 要了解的是, 局部变量 存储在 堆栈中 ,它们没有使用其默认值进行显式初始化。尽管 实例变量 存储在 Heap上
,并且默认情况下会使用 默认值 对其进行初始化。

同样, 对象 也会在 Heap上 创建,而不管实例引用变量是保留其引用还是本地引用变量。


现在,发生的是,当您将这样的数组引用声明为局部变量,并使用数组对其进行初始化时:-

int[] in = new int[5];

数组引用

(in)
存储在 stack上 ,并为能够在 堆上 容纳 5个整数 元素的数组分配内存(请记住,对象是在Heap上创建的)。然后,在
Heap 上分配5个连续的内存位置,用于存储 数值。并且数组对象上的每个 索引都 按顺序保存对这些内存位置的 引用
。然后,数组引用指向该数组。因此,由于在Heap上分配了5个整数值的内存,因此将它们初始化为默认值。
(size = 5)
__

而且,在声明数组引用时,不要使用任何数组对象对其进行初始化:-

int[] in;

数组引用是在 Stack 上创建的(因为它是局部变量),但默认情况下不会初始化为数组

null
,实例变量也不会初始化为。


因此,这是使用数组声明和初始化的第一种方式时分配的外观:-

"Your array reference"     "on stack"       |    |          "Array object on Heap"       +----+   | in |---------->  ([0, 0, 0, 0, 0])       +----+       "Stack"       "Heap"


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/609421.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号