#include<stdio.h>
void test()
{
int a = 1;
a++;
printf("%d\n", a);
}
int main()
{
int i = 0;
while (i < 10)
{
test();
i++;
}
return 0;
}
如上代码,程序运行结果为10个2,但当给test里的int a 加上 static修饰时,程序的巡行结果会发生变化,变为2,3,4,5,6,7,8,9,10,11
原因:static 可以修饰局部变量,改变的是局部变量的生命周期,使生命周****期变长,和程序的生命周期一样长,
static还可以修饰全局变量,改变了这个全局变量的作用域,这个变量只能在自己所在的源文件内使用
static还可以修饰函数,改变了这个函数的适用范围,这个函数只能在自己所在的源文件内使用,不能在其他源文件内使用。