[技术问答] 全局变量和外部存储类型在内存中的存储位置有什么不同?

[复制链接]
1345|3
 楼主| 牛奶秋刀鱼 发表于 2025-8-5 22:14 | 显示全部楼层 |阅读模式
基础问题:全局变量和外部存储类型在内存中的存储位置有什么不同?
灵犀幻影 发表于 2025-8-8 08:11 | 显示全部楼层
全局变量通常存储在静态存储区,它们在程序的整个运行期间都存在,而外部存储类型(如外部变量)也存储在静态存储区,但它们的作用域是整个程序。
神明祷告 发表于 2025-9-9 14:18 | 显示全部楼层
全局变量(未加 static)和外部存储类型变量(extern)通常存于数据段(已初始化)或 BSS 段(未初始化),属于程序静态存储区,生命周期与程序一致。二者存储位置无本质区别,主要差异在作用域:extern 可跨文件访问,全局变量默认文件内可见。
破晓战神 发表于 2025-9-11 21:41 | 显示全部楼层
外部存储类型的变量,比如静态变量,存储在BSS段(Block Started by Symbol)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

106

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部