extern void是什么含义?有什么用法?
时间: 2023-08-01 18:12:11 浏览: 64
`extern void` 是一个函数的声明,它表示该函数没有返回值并且在其他文件中定义。`extern` 关键字告诉编译器这个函数是在另一个文件中定义的,因此在编译时不需要将它的代码包含在当前文件中。
使用 `extern void` 的主要作用是让一个文件可以访问另一个文件中定义的函数,以便在多个文件之间共享代码。例如,如果你在一个文件中定义了一个函数,在另一个文件中使用该函数时,需要在使用文件中声明该函数为 `extern void` 类型,以便编译器知道该函数是在其他文件中定义的。
示例代码:
```c
// file1.c
void myFunction();
// file2.c
extern void myFunction() {
// implementation of the function
}
```
在这个例子中,`file1.c` 中声明了 `myFunction` 函数,而 `file2.c` 中定义了 `myFunction` 函数,使用 `extern void` 告诉编译器该函数是在其他文件中定义的。这样,在编译时,编译器就会知道在哪里可以找到该函数的实现。
相关问题
extern void
extern void是一个在C语言中用来声明函数的关键字。它表示该函数是在其他地方定义的,而在当前的代码文件中只是声明。这样可以在当前的代码文件中使用该函数,而不需要知道具体的实现细节。extern void的作用是为了在编译阶段能够正确地引用到函数的定义。在声明函数时,有和没有extern的效果是一样的,因此可以省略extern关键字。对于变量而言,有和没有extern是有区别的,extern关键字用来声明一个变量是在其他地方定义的。至于void关键字,它表示该函数没有返回值。因此,extern void表示声明了一个没有返回值的函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [void,extern,sizeof 关键字分析](https://blog.csdn.net/qq_36016407/article/details/54915956)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [从汇编看c++中extern关键字的使用](https://download.csdn.net/download/weixin_38688403/13996724)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [【014 关键字】一文彻底搞懂extern用法](https://blog.csdn.net/qq_41709234/article/details/122984203)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
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` 声明外部变量或函数时,确保在其他文件中有相应的定义,以避免链接错误。
此外,如果要使用某个库中的外部变量或函数,通常需要包含相应的库头文件。具体的头文件取决于库的实现,可参考库的文档或示例代码来确定所需的头文件。