内存四区模型

内存可以先粗略的分为四个区,分别是代码区,数据区,栈区和堆区。其中,数据区可以分为全局区/静态区、常量区。

数据区内容的生命周期从程序开始到程序终止;栈区的内容从函数左括号开始,到右括号为止,函数结束后,内存自动释放回收;堆区的内容由程序员自己开辟,手动释放。

代码区

程序指令

数据区:(全局区/静态区/常量区)

初始化的数据:

全局变量,静态全局变量,静态局部变量

未初始化的数据:

未初始化的全局变量,静态全局变量,静态局部变量,默认值均为0

常量

字符串常量

栈区

变量、数组

结构体、指针

枚举、函数形参

堆区:大型数据,程序员自己开辟内存存放的数据

 

 栈区向下生长,数值逐渐减小;堆区向上生长,数值逐渐增大。死循环不会使程序崩掉(占满内存),但是会占满CPU,递归会导致程序崩溃,导致栈溢出。

转载于:https://www.cnblogs.com/qinguoyi/p/10154081.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值