01
全局变量:在函数外定义的变量,变量可以使用的有效范围,定义的位置开始到文件结束。
在C中定义的全局变量只默认当前函数有效,若想在其他文件中使用需使用extern进行声明。
例如在one.c中定义了一个全局变量num,在two.c中想使用。
文件one.c
// one.c
#include <stdio.h>
// 定义一个全局变量num
// 此处为num变量分配空间
int num;
int main()
{
num = 1;
return 0;
}
文件two.c
// two.c
#include <stdio.h>
// 声明了一个变量num
// 此处并不为num分配内存空间
// 只是告诉编译器有个num变量
extern int num;
int main()
{
printf("num = %d\n", num);
return 0;
}
02
局部变量:在 {} 中的变量,都是局部变量,有效范围,只当前的 {} 有效
变量使用时遵循就近原则,局部变量会屏蔽全局变量