extern是干嘛的
时间: 2024-06-14 16:01:25 浏览: 231
extern是C/C++中的一个关键字,用于声明一个变量或函数是在其他文件中定义的。通常情况下,如果要在一个文件中使用另一个文件中定义的全局变量或函数,必须在该文件中使用extern关键字进行声明,这样编译器才能够知道该变量或函数在其他文件中的定义,并且不会因为找不到定义而报错。
举个例子,如果在文件A中定义了一个全局变量var,并且要在文件B中使用该变量,那么需要在文件B中使用extern关键字声明该变量,如下所示:
```
// 文件A
int var = 10;
// 文件B
extern int var; // 声明变量var是在其他文件中定义的
```
这样,在文件B中就可以使用变量var了。
相关问题
c++中extern是干什么的
extern在C语言中是用来声明一个在其他文件中定义的变量或函数的关键字。它告诉编译器该变量或函数在当前文件中没有定义,需要在其他文件中寻找它的定义。例如,在一个源文件中使用了某个全局变量,在该文件中使用extern声明该变量,然后在另一文件中定义该全局变量,这样编译器就能够将两个文件正确的链接起来。
externextern
extern关键字在C/C++中用于声明外部变量或函数。在使用extern关键字时,必须指定变量或函数的类型。对于全局变量,在外部使用时,必须使用extern关键字进行声明。如果变量没有使用extern修饰且没有显式初始化,就成为了变量的定义。对于函数的声明,extern关键字是可有可无的,因为函数本身默认是extern的。
使用extern关键字可以扩展全局变量的作用域,使其在其他文件中可见。当我们需要在当前文件中使用其他文件中定义的全局变量或全局函数时,需要先使用extern进行外部声明,然后才能在当前文件中使用该全局变量或全局函数。
以下是一个使用extern关键字的示例:
```cpp
// util.cpp
#include <iostream>
using namespace std;
int num = 20; // 全局变量
void fn() { // 全局函数
cout << num << endl;
}
// index.cpp
extern int num;
extern void fn();
int main() {
fn();
num = 100;
fn();
}
```
阅读全文