C语言中extern的作用与用法
时间: 2023-05-17 08:07:48 浏览: 72
extern是C语言中的一个关键字,它的作用是用来声明一个全局变量或函数,但并不定义它们。这样在其他文件中就可以使用这个变量或函数,而不需要重新定义它们。extern的用法是在变量或函数的声明前加上extern关键字,例如:
extern int global_var; // 声明一个全局变量
extern void func(); // 声明一个函数
这样在其他文件中就可以使用global_var和func,而不需要重新定义它们。
相关问题
c语言中extern定义的具体用法
extern在C语言中用于声明一个全局变量或函数的外部链接性,表示该变量或函数在其他文件中定义。具体用法如下:
1. 外部变量声明:当在一个文件中使用其他文件中定义的全局变量时,需要在当前文件中使用extern进行声明。例如,如果有一个全局变量在文件1.c中定义,可以在文件2.c中使用extern进行声明,并且可以直接访问该变量。
文件1.c:
```c
int globalVar = 10;
```
文件2.c:
```c
extern int globalVar;
int main() {
printf("%d\n", globalVar); // 输出10
return 0;
}
```
2. 外部函数声明:当在一个文件中调用其他文件中定义的函数时,需要在当前文件中使用extern进行声明。例如,如果有一个函数在文件1.c中定义,可以在文件2.c中使用extern进行声明,并且可以直接调用该函数。
文件1.c:
```c
void func() {
printf("Hello, World!\n");
}
```
文件2.c:
```c
extern void func();
int main() {
func(); // 输出 Hello, World!
return 0;
}
```
总之,extern的作用是告诉编译器某个变量或函数的定义在其他文件中,以便在当前文件中使用。
extern c语言中多个文件用法
在 C 语言中,可以通过 extern 关键字来声明一个全局变量或函数在另一个文件中定义,以便在当前文件中使用。
具体用法如下:
1. 在需要使用全局变量或函数的文件中,使用 extern 关键字声明该变量或函数:
```
extern int global_var; // 声明全局变量
extern void func(); // 声明函数
```
2. 在定义全局变量或函数的文件中,不需要使用 extern 关键字,直接定义即可:
```
int global_var = 0; // 定义全局变量
void func() { // 定义函数
// function body
}
```
3. 将上述两个文件编译为目标文件(例如 file1.o 和 file2.o),然后将它们链接起来生成可执行文件:
```
gcc -c file1.c -o file1.o
gcc -c file2.c -o file2.o
gcc file1.o file2.o -o program
```
4. 在程序中使用全局变量或函数:
```
#include <stdio.h>
extern int global_var;
extern void func();
int main() {
printf("global_var = %d\n", global_var);
func();
return 0;
}
```
注意,在使用 extern 声明全局变量时,只是告诉编译器该变量在别的文件中已经定义了,但是并没有分配空间。因此,在定义全局变量时,需要在其中一个文件中进行实际的分配空间操作,否则链接时会出错。例如:
```
// file1.c
#include <stdio.h>
int global_var; // 定义全局变量,并分配空间
int main() {
global_var = 42; // 修改全局变量的值
printf("global_var = %d\n", global_var);
return 0;
}
// file2.c
#include <stdio.h>
extern int global_var; // 声明全局变量
void func() { // 定义函数
printf("global_var = %d\n", global_var);
}
```