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

c语言笔记 内存管理之栈内存

物理内存和虚拟内存

        在c语言的程序需要内存资源,用来存放变量,常量,函数代码等,不同的内容存放在不同的内存区域,不同的内存区域有着不同的特征。
c语言的每一个进程都有着一片结构相同的 虚拟内存,虚拟内存是 物理内存映射出来的,c程序存储在虚拟内存中在由虚拟内存映射到物理内存,这才真正的使用到物理内存。c程序用到虚拟内存,这方便了内核系统管理。
        每一块虚拟内存存在物理内存的不同区域,每一块都是独立的,都有独立的地址。
程序与虚拟内存的关系图解:

运行时栈

1.环境变量 2.命令行参数 3.局部变量(形参)
一个程序在运行的时候,栈内存是不断变化的,
  1. 每当一个函数被调用栈会往下增长一段距离,函数调用完系统回收内存,栈往上缩短一段距离。
  2. 注意:栈内存的分配和释放,都是由系统规定的,我们无法干预。
  3. 空间有限,尤其在嵌入式环境下。因此不可以用来存储尺寸太大的变量。
http://www.dtcms.com/a/60897.html

相关文章:

  • npm终端执行时报错
  • XGBoost介绍
  • 【Academy】OAuth 2.0 身份验证漏洞 ------ OAuth 2.0 authentication vulnerabilities
  • 【Java代码审计 | 第十一篇】SSRF漏洞成因及防范
  • git子仓库管理的两种方式
  • 【Python】整数除法不正确,少1的问题,以及有关浮点数转换的精度问题
  • 二:RV1126的VDEC视频解码模块的工作流程
  • AI革命编程学习:Python语法速通与高阶突破全实战(第二部分:AI辅助调试与高阶编程)
  • Flink-DataStreamAPI-生成水印
  • C++使用BFS求解最短路径
  • NS3学习——运行自定义拥塞控制算法步骤
  • 动态规划中固定倒数第二个数与倒数第一个数的区别与应用场景分析 —— 从最长等差数列问题到统计等差数列个数的填表策略对比
  • 关于前后端整合和打包成exe文件的个人的总结和思考
  • 数据集构建与训练前准备
  • VIC模型有哪些优势?适用哪些范围?基于QGIS的VIC模型建模;未来气候变化模型预测;基于R语言VIC参数率定和优化
  • 【Academy】Web 缓存欺骗 ------ Web cache deception
  • 如何实现wordpress搜索自字义字段内容
  • 分享最佳ChatGPT替代11个方案(2025)
  • 计算机组成原理(第六章 总线)
  • 关于在electron(Nodejs)中使用 Napi 的简单记录
  • 内容中台的核心架构是什么?
  • 【在校课堂笔记】Python 第 3 节课 总结
  • FlinkSQL源码笔记
  • ~(取反)在算法竞赛中的常见用法和注意事项
  • 线程管理操作
  • 【CSS3】金丹篇
  • 3.3.5 VO-O语法- 高级语法
  • 大语言模型中Token的输出过程
  • vue+dhtmlx-gantt 实现甘特图-快速入门【甘特图】
  • Python 编程题 第八节:字符串变形、压缩字符串、三个数的最大乘积、判定字符是否唯一、IP地址转换