extern用法
时间: 2023-08-21 12:10:09 浏览: 96
extern 的用法示例
`extern`是一种关键字,它用于在一个源文件中声明一个已经在另一个源文件中定义的全局变量或函数。
当我们在一个源文件中使用一个全局变量或者函数时,编译器需要知道它的类型和名称。如果这个全局变量或者函数在当前源文件中定义,那么编译器可以通过已经编译的代码找到它。但是如果这个全局变量或者函数在另一个源文件中定义,那么编译器就需要知道它的类型和名称,以便在连接时能够正确地将它们链接起来。
这时,我们就可以在当前源文件中使用`extern`关键字来声明这个全局变量或者函数。例如:
```c
// file1.c
int global_var = 10;
// file2.c
extern int global_var;
int main() {
printf("%d\n", global_var); // 输出:10
return 0;
}
```
在这个例子中,`file2.c`中使用了`extern`来声明在`file1.c`中定义的全局变量`global_var`,以便在`main`函数中使用它。
需要注意的是,使用`extern`声明的变量或者函数并不会分配内存空间,它只是告诉编译器这个变量或者函数已经在别的地方定义了。因此,如果我们只是在一个源文件中使用这个变量或者函数,而没有在其他地方定义它,那么编译器在链接时就会报错。
阅读全文