在 C 语言中,“static”主要修饰以下两种情况:
1. 修饰变量:
- 静态局部变量:在函数内定义,它的值在整个程序运行期间都保持存在,并且只在该函数内可见。
我们都知道,在一个函数中的局部变量,调用时创建,出来就销毁了。如上图中test函数中的a,如果没有加上关键字 static,调用完就销毁a,那就是每次调用都是新创建,所以下面代码就会打印10个6
但是,加上static,a就不会被销毁,打印结果为 6 7 8 9 10 11 12 13 14 15
- 静态全局变量:限制该变量只能在定义它的源文件内使用,其他源文件不能直接访问。
2. 修饰函数:静态函数也只能在定义它的源文件内被调用。