在头文件里声明extern
时间: 2023-11-21 19:51:25 浏览: 105
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` 声明一个全局变量,这意味着该变量的定义在其他地方(通常是另一个源文件)。
当你在一个 C 源文件中引用一个在另一个源文件中声明的全局变量时,你需要在当前源文件中使用 `extern` 来声明该变量。这只是告诉编译器该变量已经被声明了,但它的定义在其他源文件中。编译器会在链接时查找该变量的实际定义。
如果你在头文件中声明了一个全局变量,但没有在任何源文件中定义它,那么当你包含该头文件时,编译器会在当前源文件中查找该变量的定义,因为它不知道该变量的实际定义在哪里。如果找不到变量的定义,编译器会报出 "未定义" 的错误。
因此,在头文件中声明全局变量并不是一个好的编程实践。通常情况下,你应该在一个源文件中定义全局变量并在头文件中声明它,以避免出现这种错误。
阅读全文