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

数据区的内存空间

1、数据的生命周期

数据存放于哪个空间,其实本质上我们探讨的是该数据他的“房子”, 当该房子被回收之后,那么该数据的生命也到了尽头。

2、数据的作用范围

数据的生命周期又和作用范围相绑定(不起作用了,生命也该结束了),作用范围可以分为以下几种:

  • 局部变量: 函数内部定义且没有使用static修饰的变量,以及函数的入参,他们的作用范围是所在函数。
  • 全局变量:一般是指在函数外定义的变量以及函数内使用static修饰的变量, 他们的作用范围是在整个程序运行期间。
  • 动态申请数据:主要指程序员使用malloc 起始, free进行结束的变量

3、[作用范围]与[存放空间]的关系

  • 局部变量:存放于栈区
  • 全局变量:存放于静态存储区, 该空间大小在程序编译时就已经确定了。
  • 动态申请数据:存放于堆空间,使用malloc分配后,一定要及时free,避免程序最终堆空间不够而程序崩溃。另外,要避免频繁申请,会导致许多的内存碎片,而无法分配大块的堆空间。 如果频繁使用,可以考虑用全局变量代替。

4、ram

上面说的这些数据都是在程序期间他是可以改变的,可以随机访问和修改, 都存放于ram中。
ram 又可以分为静态ram ( sram )和动态ram (dram)。
静态ram主要存放全局变量,因为这个生命周期长,如果放在动态ram里面,他是需要不断刷新电荷的,那么不得累死。
动态ram主要存放局部变量和动态申请数据,这些数据的生命周期会短一些。


http://www.kler.cn/a/506887.html

相关文章:

  • Harmony面试模版
  • Oracle 批量投入数据方法总结
  • IP层之分片包的整合处理
  • Unity ShaderGraph中Lit转换成URP的LitShader
  • 数字人助力企业出海增长,魔珐科技亮相2025晋江跨境电商峰会
  • C++ 并发编程之std::find的并发版本
  • 海豚调度DolphinScheduler-3.1.9配置windows本地开发环境
  • “飞的”点外卖,科技新潮流来袭
  • WordPress Squirrly SEO插件存在身份认证SQL注入漏洞(CVE-2025-22783)
  • 基于SynxFlow库实现GPU加速的雨洪仿真(Python)
  • Linux 常用文件查看命令
  • android adb 无线连接 (wifi)
  • CPU负载与CPU使用率之区别
  • 网络科技有限公司网络设计
  • 数据结构漫游记:动态带头双向循环链表
  • 深度学习与浮点数精度问题探究
  • 【Unity-Game4Automation PRO 插件】
  • HCIP笔记1--IP路由基础回顾、BFD单臂回声、OSPF基础
  • wproxy客户端安装,代理返回JSON
  • 将图像输入批次扁平化为CNN
  • 掌握Golang strings包:高效字符串处理指南
  • Leetcode:3095
  • 中间件 MetaQ
  • 【树莓派3B】香瓜树莓派3B之与电脑的文件传输
  • 深入Node.js集群:原理、优势与搭建实战,如何应对高并发
  • CNN-GRU-MATT加入贝叶斯超参数优化,多输入单输出回归模型