您的位置:首页 > 编程语言 > C语言/C++

C++与Java数组内存的分配

2017-05-22 22:21 204 查看
在 C++中,数组要么在静态存储区创建(静态存储区虽然叫“static”,但存在于RAM里),要么就在栈中创建。

在栈中创建的数组,数组名就代表着一块内存,注意不是指向,并且在其生命期内它在栈中的地址都不会改变。由于是内存块,因此在C++中使用数组是非常危险的,比如未初始

化就使用内存(常规错误),又如程序访问了当前内存块之外的元素,就会造成不可预测的错误。

而在Java中,创建一个数组可以看做创建了一个句柄数组,句柄在栈中,并且被赋予了一个初始值(null),当正式使用时,为句柄分配一个对象,对象存在在堆中分配的一块内

存,如果仍使用为null的句柄,就会在运行期报错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言