1.堆区
由程序员分配释放,如果程序员不释放,程序结束时由操作系统回收。
在C++中用new在堆区开辟内存。
int * p=new int(10);
返回的不是堆上的内容,而是地址(存在栈中),所以用指针接着。
2.new
delete释放在堆中开辟的数据
delete[] arr; 释放数组
3.引用
给变量起别名
数据类型 &别名=原名;
别名可操纵内存(家被偷了)
别名与原名共用一个地址。
①引用必须初始化(起别名时一定要指出是谁的别名)
②引用一旦初始化,不可更改(一个别名只能对应一个原名)