程序的内存四区,new关键字的基本使用
程序运行前:
代码区
全局区
*程序运行后:
栈区:编译器自动分配释放,存放函数的参数值(形参),局部变量等。
*注意:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放。
*堆区:由程序员分配释放,弱程序员不释放,程序结束时由操作系统回收。
使用new关键字开辟内存,使用delete释放内存
#include<iostream>
using namespace std;
int* func1()
{
//在堆区创建整形数据
//new 返回的是 该数据类型的指针
int *p = new int(10);
return p;
}
void test01()
{
int* p = func1();
cout << *p << endl;
cout << *p << endl;
//delete 释放数据内存
delete p;
cout << *p << endl;//非法操作
}
int main()
{
test01();
return 0;
}
没有评论:
发表评论