static 关键字在 C 语言中有不同的用法

static 关键字在 C 语言中有不同的用法,主要用于以下几个方面:

  1. 静态局部变量: 在函数内部使用 static 声明的变量是静态局部变量。这种变量在程序运行期间只被初始化一次,在函数退出后并不销毁,而是保留其数值直到程序结束。静态局部变量在函数调用时分配内存,在函数结束时释放内存。

    
    void func() { static int count = 0; // 静态局部变量 count++; printf("%d\n", count); }

  2. 静态全局变量: 在函数外部使用 static 声明的全局变量是静态全局变量。这种变量只能在声明它的源文件中使用,其他文件无法访问。静态全局变量与普通全局变量不同,它的作用域仅限于声明它的文件内部。

     
    static int globalVar = 10; // 静态全局变量,只能在当前文件中访问

  3. 静态函数: 在函数定义中使用 static 关键字声明的函数是静态函数。静态函数的作用域被限制在定义它的文件内部,在其他文件中无法访问该函数。使用静态函数可以避免与其他文件中的同名函数产生冲突。

     
    static int add(int a, int b) { // 静态函数,只能在当前文件中调用 return a + b; }

总的来说,static 关键字的使用方式可以让变量或函数的作用域限定在当前文件内部,避免与其他文件产生命名冲突,或者保留变量的状态直到程序结束。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值