C 程序的内存分区结构

news/2025/10/29 11:36:51/文章来源:https://www.cnblogs.com/bch24/p/19173923

🧩 C 程序的内存分区结构

一个典型的 C 程序在运行时,内存大致分为以下几个区域:

区域 内容 特点
代码区 (Text Segment) 程序的机器指令 只读
全局/静态区 (Data Segment) 已初始化的全局变量和静态变量 程序运行期间存在
常量区 (Read-Only Data Segment) 字符串常量、const 常量 只读,禁止修改
栈区 (Stack) 局部变量、函数参数、返回地址 自动分配释放
堆区 (Heap) malloc / free 分配的内存 动态分配释放

🧠 各内存区域详解

1️⃣ 代码区 (Text Segment)

  • 存放程序的可执行代码(机器指令)。
  • 一般是 只读的,防止程序意外修改自身。
  • 典型内容:函数体、main() 的指令。

2️⃣ 全局/静态区 (Data Segment)

分为两类:

  • 已初始化数据段 (.data):存放已初始化的全局/静态变量。
  • 未初始化数据段 (.bss):存放未初始化的全局/静态变量,程序启动时自动清零。

生命周期:从程序启动到结束。

3️⃣ 常量区 (Read-Only Data Segment)

  • 存放字符串常量const 修饰的常量
  • 通常是只读的,修改会导致段错误。
  • 示例:char *s = "hello";"hello" 就放在这里。

4️⃣ 栈区 (Stack)

  • 用于存放函数的局部变量、参数、返回地址等。
  • 由系统自动分配和释放。
  • 特点:后进先出 (LIFO)
  • 超出函数作用域后自动销毁。

5️⃣ 堆区 (Heap)

  • 程序运行时通过 malloc()calloc()realloc() 等动态申请的内存。
  • 由程序员手动释放(通过 free())。
  • 若未释放,容易造成 内存泄漏

⚙️ 内存生命周期对比

区域 分配方式 释放方式 生命周期
代码区 编译时 程序结束 整个程序运行期间
全局/静态区 编译时 程序结束 整个程序运行期间
常量区 编译时 程序结束 整个程序运行期间
栈区 自动 自动(函数返回时) 函数调用期间
堆区 手动 (malloc) 手动 (free) 程序员控制

💡 总结记忆口诀

“代全常栈堆” 五区口诀:

  • 码区:存放机器指令;
  • 局/静态区:变量全局共享;
  • 量区:常量不可改;
  • 区:函数自动分配;
  • 区:手动申请释放。

✅ 小贴士

  • 栈区通常内存较小(如几 MB),而堆区空间大。
  • 全局变量和静态变量只初始化一次。
  • 字符串常量放在常量区(不可修改)。
  • 局部变量在栈区,函数返回后内存失效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/949710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年手持式光谱仪厂家权威推荐榜:XRF/LIBS手持式、便携式X射线荧光、土壤测铝、合金分析仪专业测评

2025年手持式光谱仪厂家权威推荐榜:XRF/LIBS手持式、便携式X射线荧光、土壤测铝、合金分析仪专业测评 行业技术发展现状 手持式光谱分析技术作为现代工业检测领域的重要突破,正在经历快速的技术革新和产业升级。随着…

2025 年功率分析仪记录仪,携功率分析仪,电池功率分析仪,光伏功率分析仪厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读

在工业自动化与新能源产业高速发展的当下,功率分析仪记录仪、便携功率分析仪、电池功率分析仪及光伏功率分析仪已成为关键测试设备,其性能直接关乎行业生产研发质量。为帮助企业精准选型,仪器仪表行业协会联合第三方…

2025年工业清洗剂厂家权威推荐榜:水洗/水基/碳氢/铝材/超声波/金属/真空/除油/防锈清洗剂源头厂家精选

2025年工业清洗剂厂家权威推荐榜:水洗/水基/碳氢/铝材/超声波/金属/真空/除油/防锈清洗剂源头厂家精选 随着制造业向高质量方向发展,工业清洗剂作为生产过程中不可或缺的辅助材料,其技术标准与环保要求日益提升。在…

jmeter读取csv文件放到list数组里面

View Postjmeter读取csv文件放到list数组里面方法一:使用Java NIOimport java.nio.file.Files import java.nio.file.Paths import java.util.stream.Collectorstry {def filePath = Paths.get("C:/Users/yxchun/…

Spring @Bean注解用法

目录1. 基础逻辑:按类型匹配(byType)2. 多个子类Bean的情况:类型冲突与解决方式1:使用@Primary指定优先Bean方式2:使用@Qualifier指定Bean名称总结 在Spring框架中,当一个@Bean方法的入参需要注入依赖时(如你示…

基于MATLAB的视频车流量统计系统实现

1. 系统架构设计2. 核心算法实现 2.1 视频预处理 % 读取视频文件 video = VideoReader(traffic.mp4); vidReader = vision.VideoFileReader(video.Filename);% 转换为灰度图像(降低计算量) grayVideo = vision.Color…

vscode调试时显示张量的维度shape

在程序的入口添加 如下代码即可:import torch def patch_tensor_repr():original_repr = torch.Tensor.__repr__def new_repr(self):shape_str = f"Shape: {tuple(self.shape)}"tensor_str = original_repr…

2025 年大型电子地磅,汽车衡电子地磅,120 吨电子地磅,100 吨电子地磅 厂家最新推荐,产能、专利、环保三维数据透视

引言 为精准筛选 2025 年大型电子地磅(含汽车衡、120 吨及 100 吨电子地磅)优质厂家,衡器协会联合行业权威检测机构开展专项测评。测评以产能、专利、环保为核心维度,结合市场口碑与服务能力综合评估:产能维度核查…

2025年净气活性炭定做厂家权威推荐:除味活性炭工厂/废气净化活性炭源头厂家/空气净化活性炭厂家精选

随着环保政策的持续推进和工业净化需求的不断提升,定制化活性炭市场正迎来新一轮增长,专业生产厂家凭借差异化产品与技术优势占据竞争高地。 净气活性炭作为工业净化、环境治理和水处理领域的核心材料,其定制化市场…

2025年超声波分散设备厂商权威推荐榜单:进口超声波分散设备/本多超声波分散设备/双频超声波分散设备源头厂家精选

超声波分散技术正悄然推动新能源、新材料等领域的产业升级,其设备市场规模预计在2031年达到126.7亿元。 超声波分散设备作为现代工业中颗粒分散和纳米材料制备的关键设备,已广泛应用于新能源电池、石墨烯、化工涂料等…

Element(key):通过控件的 key 属性获取控件对象

在 PySimpleGUI 中,FindElement(key) 或 Element(key) 方法用于通过控件的唯一标识符 key 获取对应的控件对象,以便动态修改其属性(如文本、颜色、可见性等)。以下是具体示例:示例场景 假设有一个窗口,包含以下控…

ubuntu服务器jar包开机60秒后自启

1、创建start_all.sh文件nohup java -jar /opt/sxygsj/jar/dp-system.jar > /opt/sxygsj/jar/dp-system.log 2>&1 & echo "dp-system.jar 启动中,日志:/opt/sxygsj/jar/dp-system.log"nohup…

2025年线槽定做厂家权威推荐榜单:pc线槽/线槽管/pvc水槽源头厂家精选

在工业自动化与智能建筑迅猛发展的今天,定制化线槽已成为保障电缆管理效率与安全的核心组件。 据2025年最新行业调研显示,中国定制线槽市场规模已突破35亿元,年均增长率保持在12%以上。随着新能源、数据中心等新基建…

CH5xx 蓝牙主机低功耗测试

CH5xx 蓝牙主机低功耗测试本文使用CH592进行测试, 主机低功耗分为两个部分,一个是扫描状态,另一个是连接状态。 已EVT例程BLE目录下的Central例程为例, 1.将HAL_SLEEP(动态休眠降低功耗)和DCDC_ENANBLE(电源开启…

HTML实用技巧分享:那些不为人知但超级好用的小窍门

作为前端开发者,我发现HTML中有许多被低估但极其实用的技巧。今天,我想分享一些我在实际项目中发现的HTML宝藏功能,它们可能不常被提及,却能显著提升开发效率和用户体验。 1. 使用<details>和<summary>…

sg.window有哪些属性和方法

在 PySimpleGUI 中,sg.Window 是创建图形用户界面(GUI)窗口的核心类,其属性和方法支持窗口的定制化与交互逻辑实现。以下是关键属性和方法的分类说明: 核心属性窗口标题与尺寸title:窗口标题栏显示的文本(通过 …

macOS 安装 x86架构的 kali 虚拟机 - Mr

macOS安装x86架构的kali虚拟机 UTM下载安装 官网:https://mac.getutm.app/ 下载链接:https://github.com/utmapp/UTM/releases/latest/download/UTM.dmg安装kali虚拟机创建一个新的虚拟机选择模拟选择 其他选择 kali…

QPSK/BPSK在多径信道下经过LMS均衡器后的误码率曲线分析

MATLAB仿真,分析QPSK和BPSK在多径信道下经过LMS均衡器后的误码率性能。 系统模型概述 %% QPSK/BPSK在多径信道下经过LMS均衡器的误码率仿真 clear; close all; clc;% 系统参数设置 system_params = initialize_system…

2025年常温固化型酚醛环氧涂料生产厂家权威推荐:耐高锰酸钠富辛环氧涂料订制厂家/高性能厚浆环氧涂料涂料厂商/乙烯基防水防腐涂料优质厂家精选

在工业防护领域,常温固化型酚醛环氧涂料因其独特的施工便利性和卓越的耐腐蚀性能,正成为众多工程项目的重要选择。 常温固化型酚醛环氧涂料作为工业防腐的重要材料,其市场需求持续增长。这类涂料结合了酚醛树脂的耐…

2025年10月中国管理咨询公司评价榜:六强数据化横向对比

“订单交付又延期,利润被成本吃掉,数字化到底该从哪一步下手?”——这是过去半年里,我接听过的制造企业来电中最集中的困惑。工信部2024年四季度抽查显示,61.3%的中小制造企业产能利用率低于75%,其中近半数把“管…