所有的代码都是通过dev c++ 4.9.9.2来编写的
c++程序中内存的分为五个区,分别为栈,堆,自由存储区,全局/静态存储区和常量存储区,程序中各个数据存储在这些内存的区域中。
栈区有编译器自动分配和释放,存放函数的参数以及局部变量。
堆区中的内存分配和释放有开发者负责。一般使用运算符new分配内存,并用delete释放内存。
自由存取区和堆相似,但是其内存管理一般是通过malloc和free等进行的。
全局/静态存储区中存放的是全局变量和静态变量。
常量存储区存储的是常量,通常不允许修改。
上面的个分配通过下面代码来说明:
#include <iostream>
using namespace std;
int a; //全局变量,存储在全局/静态存储区中
int main () {
int b; //局部变量,存储在栈上
int *p = new int (); //由运算符new分配,存储在堆上
static int d; //静态变量,存储在全局/静态存储区中
const int e = 0; //常量,存储在常量存储区中
delete p; //释放堆中的内存
return 0;
system ("pause");
}