extern 注意事项
时间: 2023-08-28 12:08:25 浏览: 51
对于关键字 "extern",有几个注意事项需要注意:
1. 定义全局变量:当在一个源文件中声明一个全局变量时,使用extern关键字可以将该变量的定义和声明分开。在其他源文件中使用该全局变量时,只需声明而不需要重新定义。例如:
```c
// 文件1:global.c
extern int globalVar; // 只是声明
// 文件2:main.c
#include "global.c"
int main() {
globalVar = 10; // 使用全局变量
return 0;
}
```
2. 引用外部函数:当一个函数在一个源文件中定义,但是在另一个源文件中需要使用时,可以使用extern关键字来声明该函数。例如:
```c
// 文件1:myfunc.c
int myFunc() {
return 42;
}
// 文件2:main.c
#include <stdio.h>
extern int myFunc(); // 声明外部函数
int main() {
int result = myFunc(); // 调用外部函数
printf("Result: %d\n", result);
return 0;
}
```
3. 外部链接性:默认情况下,全局变量和函数具有外部链接性,即可以在不同的源文件中共享。使用extern关键字可以显式地指定外部链接性,但通常不需要这样做。
```c
// 文件1:module1.c
extern int sharedVar1; // 具有外部链接性
static int privateVar1; // 只在当前源文件中可见,没有外部链接性
// 文件2:module2.c
extern int sharedVar1; // 具有外部链接性
static int privateVar2; // 只在当前源文件中可见,没有外部链接性
```
这些是使用extern关键字时需要注意的一些事项。希望对你有所帮助!如有其他问题,请随时提问。