[学习资料] static 全局变量与普通的全局变量有什么区别?

[复制链接]
3284|69
LinkMe 发表于 2025-5-17 08:17 | 显示全部楼层
静态全局变量默认为0,除非有其他指定。
地瓜patch 发表于 2025-5-21 15:04 来自手机 | 显示全部楼层
static限定了变量的作用范围在本文件中
suncat0504 发表于 2025-5-21 20:56 | 显示全部楼层
子函数中可以声明static变量吗?
suncat0504 发表于 2025-5-21 20:57 | 显示全部楼层
嵌入式开发中的static,与Java中static的使用,还真不完全一样。谢谢分享!
小熊01 发表于 2025-6-5 07:43 | 显示全部楼层
单片机静态变量启动时值不定,得手动设置初始值。
AIsignel 发表于 2025-6-11 18:25 | 显示全部楼层
这种做法能让不同源文件共享变量,用“extern”告诉编译器这个变量在别处定义过。
suncat0504 发表于 2025-6-23 20:27 | 显示全部楼层
即使在不同的文件中声明了同名变量,static也会被视为不同的变量?
封存into 发表于 2025-6-24 22:21 | 显示全部楼层
static只能在本文件中有效
软核硬核 发表于 2025-7-4 23:20 | 显示全部楼层
生存期和作用域描述了变量在程序中的有效时间和有效区域。
星闪动力 发表于 2025-7-7 17:22 | 显示全部楼层
静态变量只在本文件可见,其他文件无法访问。
Pretext 发表于 2025-7-8 15:15 | 显示全部楼层
全局变量只在本文件内可见,就像一个房间里的东西,别人看不见。
MintMilk 发表于 2025-7-8 18:24 | 显示全部楼层
全局变量就像家中的公共财产,任何家庭成员都可以使用。
zephyr9 发表于 2025-7-10 13:39 | 显示全部楼层
当然可以,子函数里声明static变量意味着变量只在函数首次调用时初始化一次,之后调用不再初始化。
PreWorld 发表于 2025-7-10 22:35 | 显示全部楼层
在单片机编程中,全局变量如果不初始化,默认会设置为0。但如果进行了其他赋值,则按新值存储。
哪吒哪吒 发表于 2025-7-12 10:56 | 显示全部楼层
变量存在和可访问的时间及范围,生存期是变量持续的时间,作用域是变量可用的范围。
IntelCore 发表于 2025-7-15 15:59 | 显示全部楼层
从头到尾检查代码,确保定义在正确位置。
hmcu666 发表于 2025-7-16 14:40 | 显示全部楼层
静态变量未初始化时可能随机赋值,确保在程序开始前手动赋初值以防异常。
朝生 发表于 2025-7-18 18:26 | 显示全部楼层
static全局变量在程序运行期间只初始化一次,而普通全局变量每次调用都会初始化。
jdqdan 发表于 2025-7-21 17:28 | 显示全部楼层
static全局变量在程序运行期间只初始化一次,普通全局变量每次函数调用都会初始化。
OKAKAKO 发表于 2025-7-23 22:34 | 显示全部楼层
全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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