C语言省略extern的缺陷

时间:2023-03-10 08:47:22
C语言省略extern的缺陷

在一个文件中(比如a.c)定义一个全局变量int a = 10;

然后在另一个代码文件(比如main.c)中需要使用变量a,可以写

int a;

单独看main.c文件时就会出现二义性,一个含义是当其他文件中没有定义过全局变量a,则这里定义一个变量a。另一个含义是当其他文件中包含声明全局变量a,则这里声明一个变量a。

所以当a.c中定义了全局变量a时,在main.c中最好使用:

extern int a;