
正文
C语言学习笔记---static关键字
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1、static修饰局部变量
在函数体内,只初始化一次,被static声明过的局部变量在调用过程中值不变。原因:在任意函数内定义局部变量,存储在线程中的栈区,出函数时自动摧毁,所以在每次调用这个函数时,局部变量的初始值都为定义的值在进行运算。static在修饰局部变量时,存储在静态区,函数返回时值保持不变,出函数不销毁,下一次进入函数依然存在。
1 void test() 2 { 3 int a = 10; 4 a++; 5 printf("%d ", a); 6 } 7 8 void static_test() 9 { 10 static int a = 10; 11 a++; 12 printf("%d ", a); 13 } 14 int main() 15 { 16 test(); 17 static_test(); 18 test(); 19 static_test(); 20 return 0; 21 }







