在c中extern的用法
时间: 2023-09-22 11:09:12 浏览: 44
extern是C语言中的关键字,用于声明一个变量或函数是在其他地方定义的。它的作用是告诉编译器该变量或函数在其他地方已经定义了,不需要再重新定义。
在C中,当我们在一个文件中定义了一个全局变量或函数,并且希望在其他文件中使用它时,需要使用extern关键字来进行声明。这样编译器就知道该变量或函数是在其他文件中定义的,可以正确地引用它。
例如,我们有两个源文件file1.c和file2.c,其中file1.c定义了一个全局变量num:
```c
// file1.c
int num = 10;
```
如果我们想在file2.c中使用num,我们需要先在file2.c中使用extern进行声明:
```c
// file2.c
extern int num;
int main() {
printf("%d\n", num); // 使用num
return 0;
}
```
这样编译器就知道num是在其他文件中定义的,并且可以正确地引用它。
另外,extern还可以用于多个源文件共享一个全局变量或函数的定义。例如,我们可以将全局变量num的定义放在一个源文件中,然后在其他源文件中使用extern进行声明,这样多个源文件就可以共享同一个全局变量。
总结来说,extern用于声明一个变量或函数是在其他地方定义的,它告诉编译器去其他地方找到该定义并进行引用。这样可以实现多个源文件之间的变量或函数共享。
相关问题
c语言中 extern 的使用方法3
在C语言中,`extern`关键字用于声明一个全局变量或者函数的声明,表示该变量或函数是在其他文件中定义的。`extern`的使用方法有以下三种情况:
1. 外部全局变量的声明:在一个源文件中使用`extern`关键字来声明一个全局变量,表示该变量是在其他文件中定义的。例如:
```c
// 文件1.c
extern int global_var; // 声明外部全局变量
// 文件2.c
int global_var = 10; // 定义外部全局变量
```
2. 外部函数的声明:在一个源文件中使用`extern`关键字来声明一个函数,表示该函数是在其他文件中定义的。例如:
```c
// 文件1.c
extern void function(); // 声明外部函数
// 文件2.c
void function() {
// 函数定义
}
```
3. 引用外部库函数:使用`extern`关键字可以引用外部库函数,这些函数通常包含在系统库或者第三方库中。例如:
```c
extern int printf(const char *format, ...); // 引用标准库函数printf
```
通过使用`extern`关键字,可以在当前文件中引用其他文件中定义的全局变量和函数,从而实现模块化编程和代码复用。
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的作用是告诉编译器某个变量或函数的定义在其他文件中,以便在当前文件中使用。