当前位置:   article > 正文

C语言中static和volatile关键字的作用

C语言中static和volatile关键字的作用

static 作用:
1 修饰局部变量:表示该局部变量只初始化一次,地址空间不释放
2 修饰全局变量:表示该全局变量只在此文件中使用,别的文件无法访问此变量
3 修饰函数: 表示修饰的函数只在此文件中使用,别的文件无法使用该函数

void fun()
{
    static int data1 = 0;
    int data2 = 0;
    
    data1++;
    data2++;
    
    printf("data1 = %d",data1);
    printf("data2 = %d",data2);
    return;
}

int main()
{
    fun();
    fun();
    fun();
    return;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

可以得到结果,data1的值分别为 1,2,3.而data2的值为1,1,1.因为每次调用data2都从0开始,data1只有第一次是0,后面每次调用都加一。

volatile作用:
修饰局部变量,告诉编译器,修饰的变量值可能在中断中修改,需要从变量地址取值。一般中断中会修改的全局变量使用volatile修饰。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/568022
推荐阅读
相关标签
  

闽ICP备14008679号