在c中extern的用法
时间: 2023-09-22 12:09:04 浏览: 42
在C中,`extern`关键字用于声明一个全局变量或函数,表示它们是在其他文件中定义的。具体来说,`extern`用于告诉编译器某个变量或函数的定义在其他地方,而不是当前文件中。
当你在一个文件中使用`extern`关键字声明一个变量时,编译器会知道该变量在其他文件中定义,并会在链接阶段解析它的引用。
下面是`extern`关键字的用法示例:
1. 声明全局变量:
```c
// 文件1:global.c
int global_variable; // 全局变量的定义
// 文件2:main.c
extern int global_variable; // 声明全局变量,告诉编译器它在其他文件中定义
int main() {
// 在这里可以使用 global_variable
return 0;
}
```
2. 声明函数:
```c
// 文件1:functions.c
void some_function(); // 函数的定义
// 文件2:main.c
extern void some_function(); // 声明函数,告诉编译器它在其他文件中定义
int main() {
// 在这里可以调用 some_function()
return 0;
}
```
通过使用`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的作用是告诉编译器某个变量或函数的定义在其他文件中,以便在当前文件中使用。