STATIC 用法有三种
1.对于局部变量的修饰
如 static int a = 10;
加static修饰后,变量存放于全局数据区 .data 意思就是和全局变量一样,值在函数函数结束后值是保留的。
例子
void func() { int test_static = 10; n++; printf("the test_static value is %d/n",test_static); } /* 对于函数的两次调用 func(); func(); 输出依次是11,12 由此可以看出静态修饰的局部变量的值会保留。 */
2.对于全局变量的修饰
当一个全局变量被static修饰后,此全局变量不能再其他的文件中引用,并且在其他文件中可以定义相同的全局变量名。
3.对于函数的修饰
当一个 函数被static修饰后,此函数不能再被其他的文件引用,并且在其他文件中可以定义相同的函数名。