C/C++ static 关键字使用

在C语言中

  1. 在.c中(为什么是.c,后面注意事项会说明)定义全局静态变量,控制访问范围,仅仅局限在本文件中才能访问,即便是 extern 外部声明也不可以;这样一来就允许在多个源文件中定义相同的变量,且不受干扰。否则编译会报重复定义。同理修饰于函数。

在C++中

注意事项

  1. 在C/C++中,不推荐在头文件中定义static全局变量,如果在头文件中定义了static变量,被多个文件引用,编译可以顺利通过!则该头文件被包含了多少次,这些变量就定义了多少次,就有多少个副本,且相互独立,并且破坏了访问的控制范围
  2. static修饰的变量只会被初始化一次(此处应注意初始化和赋值操作,可以多次赋值),
  3. 在C++11标准中,已经弃用了static的C的使用方式,而改为未命名空间。

参考文章

C/C++定义全局变量/常量几种方法的区别

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值