static关键字的三种用法
1.修饰局部变量
2.修饰全局变量
3.修饰函数
1.修饰局部变量
//修饰局部变量
#include <stdio.h>
void test() {
static int a = 1;//跳过这个程序,出另外一个空间
a++;
printf("%d\n", a);
}
int main()
{
int i = 0;
while (i < 10)
{
test();
i++;
}
return 0;
}
这里的a用了static只会初始化一次。
2.修饰全局变量
static修饰全局变量的时候这个全局变量的外部连接属性就变成了内部连接属性。其他的源文件(.c)就不能再使用到这个全局变量了.
修饰全局变量
#include <stdio.h>
extern int g_val;
int main()
{
printf("%d\n", g_val);
return 0;
}
这里就会报错只能找不到g_val.
3.修饰函数
修饰函数和修饰全局变量同理 :static修饰全局变量的时候这个函数的外部连接属性就变成了内部连接属性。其他的源文件(.c)就不能再使用到这个函数了.