程序运行的时候所有相关数据是分段落存储的,下面列举了常用的存储方式
代码段
特点:程序语句转换得到二进制数位,这个段落里的数据在程序运行的时候不可以被修改;
全局段
特点:全局变量的存储区位于这个段落,这个段落的大小不会随着进程的运行而变化,因此生命周期是整个程序运行期间;
栈(后进先出)
局部变量、形式参数、块变量、返回值的存储区都位于这个段落,这个段落的大小会随着进程的运行而不断变化,变化规律遵循后进先出的原则,每个函数运行过程中有自己的私有区域,每当函数运行结束后它的私有区域会被计算机回收;
特点:效率高,但空间大小有限,一般为256K;
堆
动态分配的存储区,必须使用语句还给操作系统,否则会给程序带来问题(内存泄漏等);
由 malloc系列函数或 new操作符分配的内存,其生命周期由free 或delete 决定。