关键字static在C语言中主要有三种用法:
①static修饰局部变量:延长局部变量的生命周期,作用域不变,且使得局部变量存储在静态区,在不初始化的情况下默认为0.
int fun()
{
static int num;
num++;
printf("%d ", num);
}
int main()
{
int i = 0;
for (i = 0; i < 5; i++)
{
fun();
}
system("pause");
return 0;
}
输出结果 1 2 3 4 5.
②static修饰全局变量:会缩小其作用域,当同时编译多个文件时,所有未加static的全局变量和函数都具有全局可见性(用extern做明)。使用static修饰后只能在当前文件域使用。
③static修饰函数和修饰全局变量差不多,都是缩小了作用域。