static用来修饰局部变量和函数
#define _CRT_SECURE_NO_WARNINGS 1 #include//首先写一个函数test(); //main循环调用test() //这里我们可以看到test()里的变量a是局部变量 //局部变量a出了它所在的大括号,生命周期结束 //也就是说test()调用完,a的生命周期就结束了 //故没加static之前,输出5个2 void test() { int a = 1; a++; printf("a=%dn", a); } int main() { int i = 0; while (i<5) { test(); i++; } return 0; }
如果给变量加上static那么,他的生命周期就会延长,
而他的生命周期为整个程序源
代码如下:
#define _CRT_SECURE_NO_WARNINGS 1 #include//故输出2,3,4,5,6 void test() { int a = 1; a++; printf("a=%dn", a); } int main() { int i = 0; while (i<5) { test(); i++; } return 0; }
static修饰全局变量: 改变的是变量的作用域,让静态的全局变量只能灾自己所在的源文件内部使用 出了源文件无法使用。 extern int Add(int,int); extern 外部引用符号



