在头文件里声明extern
时间: 2023-11-21 15:51:25 浏览: 108
extern关键字在头文件中的使用是为了声明一个变量或函数的存在,而不进行定义。这样可以使得该变量或函数在其他源文件中可见和可访问。
当在头文件中使用extern声明一个变量时,它只是告诉编译器该变量在其他源文件中已经定义了,不需要再重新定义。这样,在其他源文件中包含该头文件时,就可以使用该变量了。
例如,在一个头文件中声明一个全局变量:
```c// header.hextern int globalVariable;
```
然后在另一个源文件中定义并初始化该变量:
```c// source.c#include "header.h"
int globalVariable =10;
```
现在,其他源文件也可以引用该全局变量globalVariable,只需包含相应的头文件即可。
同样,extern关键字也可以用于函数的声明。当在头文件中使用extern声明一个函数时,它表示该函数在其他源文件中已经定义了,不需要再重新定义。这样,在其他源文件中包含该头文件时,就可以调用该函数了。
总而言之,使用extern关键字可以在头文件中声明变量或函数的存在,以便在其他源文件中可以使用它们,而不需要重新定义。
相关问题
头文件里的extern
头文件中的extern关键字用于声明一个变量或函数是在其他文件中定义的,这样在当前文件中就可以使用这个变量或函数了。使用extern关键字可以避免重复定义变量或函数,同时也可以提高代码的可读性和可维护性。在头文件中使用extern关键字声明变量或函数后,在其他文件中就可以通过包含这个头文件来使用这个变量或函数了。
举个例子,如果在一个头文件中声明了一个全局变量:
```
extern int global_var;
```
那么在其他文件中就可以通过包含这个头文件来使用这个全局变量了,而不需要重新定义它。
另外,extern C是用来告诉编译器在链接时按照C语言的方式进行链接的,这样可以避免C++的命名规则导致的链接错误。
C语言中头文件使用extern声明全局变量
在C语言中,当你需要在多个源文件中访问同一种类型的全局变量时,可以使用`extern`关键字来声明该变量。`extern`的作用不是定义变量,而是告诉编译器这个变量已经在其他地方定义过了。具体步骤如下:
1. 在某个源文件(通常称为"头文件",扩展名为`.h`)中,声明全局变量并使用`extern`:
```c
// example.h
extern int globalVariable;
```
这行代码表示在当前头文件中有一个全局整型变量`globalVariable`,但是并没有实际的初始化。
2. 在另一个源文件(通常包含函数实现的部分)中,首次定义变量:
```c
// example.c
#include "example.h"
int globalVariable = 0; // 实际定义变量并给它赋值
// 或者在一个单独的文件里只负责初始化:
int globalVariableInitializer();
int globalVariableInitializer() {
return 0;
}
int main() {
extern int globalVariable; // 如果不在定义变量的地方引用,也需要extern
globalVariable = globalVariableInitializer();
return 0;
}
```
这样,无论`main`函数在哪个源文件中,`globalVariable`都能被正确地识别和使用,因为它的存在已经被声明并且在某个地方进行了初始化。
阅读全文