代码区:存放函数的二进制代码,由操作系统进行管理,共享、只读。
全局区:存放全局变量和静态变量以及字符串常量和其他常量。
栈区:由编译器自动分配释放,存放函数的参数值,局部变量等;
不可返回局部变量的地址,栈区的数据由编译器管理开辟和释放。
堆区:由程序员分配和释放,若程序员不释放,程序结束时操作系统回收;
在C++中主要利用new在堆区开辟空间
整型:
//创建数组
//new返回是该数据类型的指针
int * func()
{
int *p = new int(10);
return p;
}
int *p = func();//调用开辟
...//操作
delete p;//释放
数组:
//创建数组
//new返回是该数据类型的指针
int *arr = new int[10];//开辟数组
...//操作
delete[] arr;//释放
内存四区意义:不同区域存放的数据,赋予不同的生命周期,灵活编程