c++extern用法
时间: 2024-01-17 13:19:38 浏览: 91
C++中extern关键字有两种用法:
1. 用于声明外部变量:当在一个文件中声明一个变量时,该变量的作用域仅限于当前文件。如果想在其他文件中使用该变量,需要使用extern关键字进行声明。这样可以将变量的作用域扩展到其他文件中,使其可以被其他文件访问和使用。
示例代码如下:
```cpp
// file1.cpp
extern int globalVar; // 声明外部变量
// file2.cpp
int globalVar = 10; // 定义外部变量
// main.cpp
#include <iostream>
extern int globalVar; // 声明外部变量
int main() {
std::cout << "globalVar: " << globalVar << std::endl; // 输出:globalVar: 10
return 0;
}
```
2. 用于指明函数的外部链接属性:在C++中,函数默认情况下具有外部链接属性,可以被其他文件中的函数调用。但是,如果想在C++中调用C语言编写的函数,需要使用extern "C"来指明函数的外部链接属性,以便正确地进行函数调用。
示例代码如下:
```cpp
// c_code.c
#include <stdio.h>
void c_function() {
printf("This is a C function.\n");
}
// cpp_code.cpp
#include <iostream>
extern "C" void c_function(); // 声明C语言编写的函数
int main() {
c_function(); // 调用C语言编写的函数
return 0;
}
```
阅读全文