头文件全局变量和.c文件全局变量
时间: 2024-03-21 17:20:37 浏览: 226
c语言中头文件的-函数-全局变量
头文件中声明的全局变量是全局变量的外部链接,可以在该头文件所包含的多个源文件中使用。而.c文件中定义的全局变量是具有文件作用域的全局变量,只能在该源文件中访问。
头文件中声明的全局变量通常是通过使用extern关键字来声明,而在对应的源文件中进行定义和初始化。这样做的目的是在多个源文件中共享同一个全局变量。
例如,假设有一个名为globals.h的头文件,其中声明了一个全局变量:
```c
extern int global_variable; // 外部链接的全局变量声明
```
然后,在一个名为main.c的源文件中对该全局变量进行定义和初始化:
```c
#include "globals.h"
int global_variable = 10; // 具有文件作用域的全局变量定义和初始化
```
在其他源文件中,只需包含globals.h头文件即可访问和使用global_variable全局变量。
需要注意的是,如果多个源文件都定义了同名的具有文件作用域的全局变量,则会出现重复定义的错误。解决方法之一是将这些全局变量定义为静态(static),使其成为只能在当前源文件中访问的私有全局变量。
阅读全文