为什么要用extern,头文件包含不行吗
时间: 2023-11-21 12:39:13 浏览: 84
extern关键字用于声明外部变量或函数,它指定了该变量或函数是在其他文件中定义的,而不是当前文件中,这样在编译时就能够正确连接到该变量或函数。而头文件只是把函数和变量声明放在一个文件中,让其他文件调用。因此,使用extern主要是为了方便不同文件之间共享变量或函数。头文件包含是一个常见的用法,但不能替代extern的作用。
相关问题
extern要包含什么头文件和用法
`extern` 是 C/C++ 中用于声明外部变量或函数的关键字,它用于诉编译器,某个变量或函数是在其他文件中定义的,需要在当前文件中进行引用。
在使用 `` 关键字时,不需要包含特定的头文件。它是一种语言特性,与头文件无直接关联。
下面是 `extern` 的用法示例:
1. 外部变量的声明:
```c
// file1.c
int global_variable; // 定义一个全局变量
// file2.c
extern int global_variable; // 声明外部变量
```
在这个例子中,`global_variable` 是在 `file1.c` 中定义的全局变量。在 `file2.c` 中使用 `extern` 关键字声明了这个全局变量,以便在 `file2.c` 中使用它。
2. 外部函数的声明:
```c
// file1.c
void external_function(); // 定义一个外部函数
// file2.c
extern void external_function(); // 声明外部函数
```
在这个例子中,`external_function()` 是在 `file1.c` 中定义的外部函数。在 `file2.c` 中使用 `extern` 关键字声明了这个外部函数,以便在 `file2.c` 中调用它。
需要注意的是,`extern` 只是声明而不是定义。它告诉编译器某个变量或函数在其他地方定义,不会为其分配内存空间。因此,在使用 `extern` 声明外部变量或函数时,确保在其他文件中有相应的定义,以避免链接错误。
此外,如果要使用某个库中的外部变量或函数,通常需要包含相应的库头文件。具体的头文件取决于库的实现,可参考库的文档或示例代码来确定所需的头文件。
extern需要头文件吗
对于使用 extern 关键字声明的变量或函数,不需要特定的头文件。extern 用于指示编译器该符号在其他源文件中定义,以便在当前源文件中引用。它只是一种声明,告诉编译器在连接阶段查找该符号的定义。因此,只需确保在引用该符号的源文件中包含了定义即可。头文件则通常用于包含声明和定义,以便在多个源文件中共享。
阅读全文