c语言中extern函数
时间: 2023-12-18 07:05:56 浏览: 29
在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函数:
```
// header.h
extern void foo();
```
然后在另一个文件中使用这个函数:
```
// main.c
#include "header.h"
int main() {
foo();
return 0;
}
```
在链接时,编译器会在其他文件中寻找foo函数的定义。
c语言中extern使用
在C语言中,extern关键字用于声明一个变量或函数是在其他文件或模块中定义的。它的作用是告诉编译器该变量或函数在其他文件中定义,编译器在编译时不会对其进行处理,而是在链接时将其与其他文件中的定义进行链接。
下面是两个使用extern关键字的例子:
1. 声明外部函数
假设我们有两个文件,一个是main.c,另一个是func.c,func.c中定义了一个函数show(),我们需要在main.c中调用该函数,就需要使用extern关键字进行声明。
```c
// func.c代码
#include <stdio.h>
void show() {
printf("hello world");
}
// main.c代码
#include <stdio.h>
extern void show(); // 声明外部函数show()
int main() {
show(); // 调用外部函数show()
return 0;
}
```
2. 声明外部变量
假设我们有两个文件,一个是main.c,另一个是var.c,var.c中定义了一个全局变量g_val,我们需要在main.c中使用该变量,就需要使用extern关键字进行声明。
```c
// var.c代码
int g_val = 10;
// main.c代码
#include <stdio.h>
extern int g_val; // 声明外部变量g_val
int main() {
printf("%d", g_val); // 输出外部变量g_val的值
return 0;
}
```