C语言extern函数
时间: 2023-11-11 11:00:02 浏览: 34
在C语言中,extern关键字用于声明一个函数或变量是在其他文件中定义的。这样,在当前文件中就可以使用这个函数或变量,而不需要重新定义一遍。
具体来说,如果在一个文件中声明了一个extern函数,那么编译器会在链接时在其他文件中寻找这个函数的定义。如果找到了,就将其链接到当前文件中;如果没有找到,就会报链接错误。
例如,我们可以在一个头文件中声明一个extern函数:
```
// header.h
extern void foo();
```
然后在另一个文件中使用这个函数:
```
// main.c
#include "header.h"
int main() {
foo();
return 0;
}
```
在链接时,编译器会在其他文件中寻找foo函数的定义。
相关问题
c语言中extern函数
在C语言中,extern关键字用于声明外部函数。当我们需要在一个文件中使用另一个文件中定义的函数时,我们需要使用extern关键字进行声明。例如,在文件1.cpp中,我们可以使用extern关键字声明文件2.cpp中定义的函数show()。这样,我们就可以在文件1.cpp中调用show()函数而不需要再使用extern声明了。extern的作用是告诉编译器,在外部文件中已经有这个函数的定义,需要通过编译。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
c语言 extern未定义
在C语言中,extern关键字用于声明一个在其他地方定义的变量。它用于告诉编译器该变量在其他地方已经被定义,并且可以在当前文件中使用。如果一个extern变量在当前文件中没有定义,那么编译器会在其他文件中查找该变量的定义。
在引用中的示例中,extern关键字用于声明一个在其他文件中定义的变量num。在main函数中,通过使用extern关键字,我们可以在当前文件中使用变量num,并将其打印出来。
引用中提到,extern变量是外部存储变量,用于声明在其他转换单元中定义的变量。换句话说,extern关键字用于引用其他文件或模块中定义的变量,以使得当前文件中的代码能够使用这些变量。
引用中提到,extern "C"是一种声明或定义C语言符号的方法,用于与C语言保持兼容。在C++中,由于函数名和变量名在编译时会被改编,extern "C"可以用来告诉编译器使用C语言的命名约定,以便在C++代码中使用C语言的函数和变量。
所以,c语言extern关键字用于声明一个在其他地方定义的变量,并且使其在当前文件中可用。同时,extern "C"用于在C++代码中使用C语言的函数和变量。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [C语言extern变量](https://blog.csdn.net/qq_49005497/article/details/126075937)[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_2"}}] [.reference_item style="max-width: 50%"]
- *3* [C++中的extern “C”用法详解](https://download.csdn.net/download/weixin_38611812/14867636)[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_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]