【C语言】static 变量及其作用


基本要点:

  • static 关键字可以修饰变量,可以修饰函数
  • 静态变量的存储方式与全局变量一样,都是静态存储方式 (静态存储方式:指在程序运行期间分配固定的存储空间的方式)
    • 静态变量属于静态存储方式,属于静态存储方式的变量却不一定就是静态变量,例如全局变量。

隐藏与隔离的作用

  • 希望全局变量仅限于在本源文件中使用,在其他源文件中不能引用,可以通过在全局变量之前加上关键字 static 来实现,使全局变量被定义成为一个静态全局变量 (源文件指什么,不太清楚,有人解释一下吗?是当前 c 文件?)

保持变量内容的持久性

  • 如果希望局部变量的值在函数调用结束之后不会消失,而仍然保留其原值。即它所占用的存储单元不释放,在下一次调用该函数时,其局部变量的值仍然存在(也就是上一次函数调用结束时的值)
  • 则将该局部变量用关键字 static 声明为静态局部变量
  • 这将改变局部变量的存储位置,即从原来在中存放改为在静态存储区存放
  • 静态局部变量全局变量的主要区别就在于可见性,静态局部变量只在其被声明的代码块中是可见的

默认初始化为 0:

  • 静态数据区(静态存储区) 所有的字节默认值都是 0x00(未初始化的情况下)
  • 静态变量全局变量一样,都存储在静态数据区中,因此它们的默认值都为 0

参考文章:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值