当前位置: 首页 > news >正文

变量的生命周期

1、栈变量的生命周期  

(1)栈变量是指在函数内部声明的局部变量,其内存分配在栈上。

(2)局部变量(栈变量)存储在栈上,生命周期是临时的。临时的意思就是说:代码执行过程中按照需要去创建、使用、消亡的。譬如一个函数内定义的局部变量,在这个函数每一次被调用时都会创建一次,然后使用,最后在函数返回的时候消亡。

2、堆变量的生命周期

(1)堆内存空间是客观存在的,是由操作系统维护的。我们程序只是去申请然后使用然后释放。 

(2)堆变量的生命周期就是:从malloc申请时诞生,然后使用,直到free时消亡。所以堆内存在malloc之前和free之后不能再去访问,因此堆内存在实践编程时都是被反复的malloc和free的。

3、data段和bss 段变量的声明周期

(1)已初始化的数据段(.data段):存放初始化非0的全局变量和静态变量;未初始化的数据段(.bss 段):存放未初始化和初始化为0 的 全局变量和静态变量。

(2)全局变量和静态变量的生命周期是永久的。永久的意思就是在程序被执行时诞生,在程序终止时消亡。所占用的内存是不能被程序自己释放的,所以程序如果申请了过多的全局变量会导致这个程序一直占用大量内存。

4、代码段和只读数据段(.rodata 段)

(1)代码段存放程序的可执行指令。

(2)字符串常量和const修饰的变量,存储在代码段 或 只读数据段,取决于平台。

  • Cortex-M:由链接脚本决定,默认放在 .rodata 段,物理上在 Flash 区。

(3)代码段和只读数据段,它们的生命周期是永久的。

http://www.dtcms.com/a/484249.html

相关文章:

  • sae网站代备案免费网站制作申请
  • 安庆商务网站建设免费看视频的软件是什么
  • 推荐一个做淘客网站etherna 简洁商业企业wordpress
  • 网站制作案例如何wordpress英文站更新通知目录
  • vllm 启动的参数解释,怎么才能将显存用到极致
  • 中国建设银行公积金网站首页免费学校网站管理系统
  • 北京网站建设分析论文优惠劵网站怎么做
  • Java的api链路优化
  • 广州 做网站官方网站建设的意义
  • 网站风格介绍百度站点提交工具
  • 招标网站排名中小企业解决方案
  • 做PS的赚钱的网站自己公司网站维护
  • 邢台做网站邮箱买汽车最好的网站建设
  • 数据集打标签labelme安装及使用教程
  • 网站上传系统wordpress注册插件中文版
  • 939网站建设科技词语
  • 自己做网站需要服务器丹东公司做网站
  • 专业seo网站优化公司网站开发产品规划要求
  • 贵州省住房和城乡建设局网站首页电商小白如何做网店运营
  • HTML标签语法,基本框架
  • 昆山市建设监察大队官方网站网站开发后端论文
  • 【文献】“宽带中国”战略和低碳城市双试点的减污效应研究
  • 建了个网站百度上会有么比分网站仿站建设
  • 已有备 网站新增网站网站建设网络推广广告语
  • 固安企业网站建设深圳集团网站建设服务
  • 内部劵淘网站怎么做网站是什么?
  • 好好建站做标书有什么好的网站吗
  • 深度学习之YOLO系列YOLOv3
  • 猪八戒网站开发合同华为企业网站建设需求分析
  • HTML网站页面建设深圳建网站公司哪家好