静态存储持续性
静态存储持续性:
1. 核心本质:static 关键字
- 在函数内: 延长寿命(改变存储持续性)。
- 在函数外: 限制权限(改变链接性)。
2. 内存特性:静态存储区 (Static Area),在BSS里
- 生命周期: 与程序同生共死。程序启动时分配,程序退出时释放。
- 初始化: 具备”零初始化”特性。如果没有手动赋初值,系统会自动将其设为
0(或NULL)。 - 持久性: 函数返回后,变量值 不会消失 。下次进入函数,它还保留着上次离开时的状态。哒哒哒哒哒!
3. mutable (谬-特-伯)
- 核心:
const规则的”特权小门”。 - 用法: 在
const结构体中,被mutable标记的成员变量 允许被修改 。
4. const 存储位置 (由位置决定)
- 函数内部 (局部): 存储在 栈 (Stack) 中。随函数销毁而销毁(自动存储)。
- 函数外部 (全局): 存储在 静态存储区 (通常是只读数据段,紧邻代码区)。与程序同生共死。
5. 静态存储区 (bss)
- 特性: 存储全局变量和
static变量。 - 特权: 程序启动(上电)时, 强制自动清零 。