c语言的extern
时间: 2023-08-15 11:13:58 浏览: 50
extern是C语言中的一个关键字,用于声明一个变量或函数是在其他文件中定义的。它的作用是告诉编译器,这个变量或函数在其他文件中定义,不在当前文件中定义。这样,编译器在编译当前文件时就知道该变量或函数在其他文件中存在,并且可以正确地链接它们。
使用extern关键字可以在一个文件中引用其他文件中定义的全局变量或函数。例如,如果在文件A.c中定义了一个全局变量x,并且想在文件B.c中使用这个变量,可以在B.c中使用extern关键字声明该变量:
```c
extern int x;
```
这样编译器就知道x是在其他文件中定义的,并且可以正确地使用它。
另外,extern关键字还可以用于函数的声明。如果在一个文件中定义了一个函数,在其他文件中需要调用这个函数,可以使用extern关键字声明该函数:
```c
extern void func();
```
这样编译器就知道func是在其他文件中定义的函数,并且可以正确地调用它。
总结来说,extern关键字用于声明一个变量或函数是在其他文件中定义的,以便编译器能够正确地链接它们。
相关问题
c语言 extern
在C语言中,extern关键字用于声明一个全局变量或函数是在其他文件中定义的。使用extern关键字可以告诉编译器,在当前文件中,这个变量或函数是在其他文件中定义的,可以访问其他文件中定义的全局变量或函数。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *2* *3* [C语言学习之extern关键字](https://blog.csdn.net/m0_69909682/article/details/128218337)[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^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]
C语言 extern
在C语言中,关键字extern用于声明一个全局变量或函数,表示该变量或函数是在其他文件中定义的。它可以用于解决多文件编程时的符号重定义问题。
当我们在一个源文件中使用extern关键字声明一个变量或函数时,它告诉编译器该变量或函数是在其他文件中定义的,编译器会在链接阶段将其与实际定义进行连接。
例如,我们有两个源文件file1.c和file2.c。在file1.c中定义了一个全局变量x,我们希望在file2.c中也能够使用这个变量。我们可以在file2.c中使用extern关键字声明变量x,编译器会在链接阶段将两个文件中的x连接起来。
file1.c:
```c
int x = 10;
```
file2.c:
```c
extern int x;
int main() {
printf("%d\n", x); // 输出10
return 0;
}
```
在上面的例子中,我们在file2.c中使用extern关键字声明了变量x,然后在main函数中可以直接使用x,因为编译器会将其与file1.c中定义的x连接起来。
总之,extern关键字用于声明一个全局变量或函数,并告诉编译器该变量或函数是在其他文件中定义的。这样可以避免多文件编程时的符号重定义问题。