1. 栈区
编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区,变量通常为局部变量、函数参数、函数返回值等。
2. 堆区
1)一般都是由程序员分配释放,人工不释放结束时由系统回收;
2)例如:new 和 delete。
3. 静态/全局存储区
1)程序结束后由系统释放;
2)全局变量和静态变量保存的区域。
4. 常量存储区
1)结束后由系统释放;
2)运行期间不能改变的量,例如:100,字符串常量等。
5. 代码区
存放函数体的二进制代码,由操作系统进行管理的。存放如类的成员函数等。