目录
代码未编译前,还没有生产exe可执行文件时分为代码区和全局区
代码未编译前,还没有生产exe可执行文件时分为代码区和全局区
代码区:
存放二进制代码,由操作系统进行管理
特点:共享:对于频繁执行代码的程序,只需有一份代码
只读:防止程序修改指令
全局区:
用来存放全局变量,静态变量,常量(常量包括字符串常量和其他常量)
特点:该区域的数据在程序结束后由操作系统释放
代码编译后:分为栈区和堆区
栈区:
栈区的数据由编译器开辟和释放(函数的参数和局部变量在程序结束后会被释放)
注意事项:不要返回函数变量的地址,非要传,如下图,会警告的吆
堆区:
由程序员分配释放,若程序员不释放,系统结束后由操作系统回收
在c++利用主要利用new(相当与c语言中malloc用法)在堆区开辟内存