java中为什么开辟数组而要new一下?

参考java 里面为什么数组都需要new一上 - 豆丁网

 java数组所引用的值在堆中,C是除了malloc的在堆中,而正常使用是在栈中的。

java数组是引用对象,引用对象都需要开辟内存空间,这一点与C相同。

new这个关键字在java中是实例化对象,也为对象开辟了内存空间。

 java中,int[] arr = {};这是个空数组,有几个就开辟几个空间,而C声明时可以指定大小,写在[]中

 总结一下:java中的对象是在堆中的,所以如果不new一下,是得不到这块空间的。

而在C中,数组名实际上是数组的首地址,是一个指针,也就是说,数组在声明后就已经生成了这个数组对象了(已经开辟了空间),所以就不用new了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值