C程序中的存储空间布局 发表于 2021-06-05 更新于 2021-12-10 分类于 apue C程序中的存储空间布局从内存高地址到低地址,可分为: 栈 堆 未初始化数据段 初始化数据段 正文段 正文段 主要内容为机器指令 只读 只需要一个副本,多次执行共享 初始化数据段 全局变量 内核在程序开始执行之前从文件读取值为其初始化 1int a = 5; 未初始化数据段(Block Started by Symbol, BSS) 全局变量 内核在程序开始执行之前将其初始化为0或NULL1int a[100]; 注意指针a是已初始化的,而a数组的内容是未初始化的,一般内核将a数组内容置为全0 堆 动态内存分配的变量 栈 局部变量 函数调用时保存的上下文