static和extern的详细介绍和使用
static和extern都是C语言中的关键字。
static是静态的意思。
在讲解这两个关键字之前,我们还需要了解两个概念:作用域和生命周期。
作用域:通俗的来讲就是限定一个变量可用性的代码范围就是这个变量的作用域。
1. 局部变量的作用域是变量所在的局部范围(花括号内部)。
例如:
#include <stdio.h>
int main()
{
{
int a = 20;//局部变量
printf("1:%d\n", a);
}
printf("2:%d\n", a);
return 0;
}
运行结果为:
这是因为我们定义的变量a是局部变量,只能作用于它所在的花括号内,出了这个花括号,变量就销毁了,生命周期也结束了。
2. 全局变量的作用域是整个工程(项目)。
例如: