数组初始化使用(写)new与不使用(不写)new

简介: 数组初始化使用(写)new与不使用(不写)new

首先,数组初始化时,写不写new没有区别的。int arr[] = new int[]{ 3, 9, 8};或者int[] arr = {3,9,8};编译器遇到 int a[] = {3, 8, 9}; 会编译成和 int a[] = new int[] {3, 8, 9}; 完全一样的中间代码。


①不同于String类。String由于实现了常量池,new 和不new 有区别:若new,则引用变量指向堆区;若不new的话,则引用变量指向常量池。


②对于数组的定义,初始化时用new与不用new没区别,只是两种方式(写法)罢了,因为数组是引用数据类型,建立对象时,无论用不用new,数组实体都是放在堆内存中,引用变量放在栈内存。


内存简析:


a070ffa936754c30beaf3fced6cb3116.png


相关文章
|
C++
35 C++ - 指针运算符(*、->)重载
35 C++ - 指针运算符(*、->)重载
77 0
|
9月前
|
程序员
数组与使用范围及循环变量不同的写法
数组与使用范围、下标、指针的for循环及循环变量不同的类型声明
|
10月前
|
存储 编译器 C语言
数组元素作为函数实参
数组元素作为函数实参
93 0
|
10月前
|
存储 算法 Java
Java数组与for语句
Java数组与for语句
37 0
|
10月前
|
数据处理 C语言 索引
数组元素作函数实参
数组元素作函数实参
96 0
|
10月前
|
算法 程序员 C++
【C++运算符重载】探究C++中的下标运算符[]重载
【C++运算符重载】探究C++中的下标运算符[]重载
96 0
|
10月前
|
存储 Java 编译器
Java字符串变量声明与赋值的常见面试题——完整剖析
Java字符串变量声明与赋值的常见面试题——完整剖析
50 1
|
10月前
|
存储 索引
数组元素做函数实参
在编程中,数组是一种常见的数据结构,用于存储多个相同类型的元素。函数则是执行特定任务的代码块,可以接收参数并返回结果。当我们将数组元素作为函数的实参时,可以将数组中的特定值传递给函数,以便在函数内部进行处理或计算。本文将介绍数组元素作为函数实参的概念,并附上相应的代码示例
84 0
|
10月前
函数参数传双指针
函数参数传双指针
指针(二)------字符指针+数组指针+指针与数组(传参)
指针(二)------字符指针+数组指针+指针与数组(传参)
54 0