C语言中static的作用
1 void test() 2 { 3 int b = 1; 4 b++; 5 printf("b=%d\n", b); 6 } 7 int main() 8 { 9 int a = 0; 10 while (a < 5) 11 { 12 test(); 13 a++; 14 } 15 return 0; 16 }
在没有static修饰的情况下运行后的结果为
加入static后代码为
1 void test() 2 { 3 static int b = 1; 4 b++; 5 printf("b=%d\n", b); 6 } 7 int main() 8 { 9 int a = 0; 10 while (a < 5) 11 { 12 test(); 13 a++; 14 15 } 16 return 0; 17 }
输出的结果为
说明:1.static修饰局部变量时,局部变量的生命周期延长
2.static修饰全局变量时,将该会改变全局变量的作用域——使得静态的全局变量只能在自己所属于的源文件内部使用,出了原文件即便是使用extern也无法调用
3.static也可以修饰函数,效果与修饰全局变量的效果相同
标签:int,++,static,test,全局变量,修饰 From: https://www.cnblogs.com/20030616phj/p/16626380.html