首先分为代码区和数据区
数据区分为:静态数据区,动态数据,
动态数据区:堆区和栈区
代码区存放程序代码
静态数据区:存放编译时就分配内存的变量,生命周期贯穿整个程序执行过程,所有程序执行完毕后自动释放。
堆区:由程序猿安排分配和释放的变量,通过malloc free.new delete管理。
栈区:存放函数的形参和局部变量,也又编译器自动释放,在生命周期上相对的是静态数据区。
全局变量以及静态变量放在静态数据区,在程序运行期间一直存在。
常量存放在代码区,他们都是只读的,不能修改,一直存在到程序结束。