内存分区
意义
不同区域存放的数据,赋予不同的生命周期。
内存分区
运行前:
代码区:存放函数体的二进制代码,由操作系统进行管理(cpu执行的机器指令,共享只读)。
全局区(全局静态区):存放全局变量和静态变量以及常量(包含const),全局区生命周期比较长。
运行后:
栈区:由编译器自动分配释放,存放函教的参数值,局部变量等。
堆区:由程序员分配和释放,若程序员不释放程序结束时由操作系统回收。
程序验证:
动态分配内存
问题引入:
原因:局部变量a存放在栈区,空间随着函数结束自动释放。
这时候该怎么办?
注意:一次申请一次释放。