栈区:
1.由编译器自动分配释放, 存放函数的参数值(形参),局部变量等
2.注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放
堆区:
1.堆区由程序员管理开辟和释放,若程序员不释放,在程序运行结束后由操作系统收回
2.C++中用new关键字在堆区开辟内存,new创建的数据,会返回该数据对应的类型的指针,而不是数据本身
new运算符:
1.利用new关键字在堆区开辟数据
语法:new 数据类型 例:new int(10);
在堆区开辟数组:
new int [10]; 要使用中括号[ ],此处10 代表数组中有10个整型数据,返回的是该数组的首地址
2.堆区的数据,由程序员自己管理开辟和释放。
数据的释放利用关键字 delete
需要注意的是 释放数组时要加 [ ] 例:delete [ ] arr ;