extern
是C语言的一个关键字。
extern
用于声明在其他源文件中定义的变量或函数,以便在当前文件中使用。
当我们在一个源文件中定义了一个全局变量,并且想在其他源文件中使用它时,可以在其他文件中使用 extern
来声明这个变量。
// File1.c
int globalVar = 42; // 定义全局变量
// File2.c
extern int globalVar; // 在另一个文件中声明全局变量
这样,File2.c
就可以使用 globalVar
,而不需要重新定义它。
同样,extern
可以用于声明一个在其他源文件中定义的函数。
// File1.c
void myFunction() {
// 函数实现
}
// File2.c
extern void myFunction(); // 在另一个文件中声明函数
这样,File2.c
就可以调用 myFunction
,而不需要重新定义它。
extern
经常与头文件一起使用,以便在多个源文件中共享声明。这有助于避免在多个文件中重复定义相同的变量或函数。
// File1.h
#ifndef FILE1_H
#define FILE1_H
extern int sharedVariable; // 在头文件中声明全局变量
void sharedFunction(); // 在头文件中声明函数
#endif // FILE1_H
// File1.c
#include "shared.h"
int sharedVariable = 42; // 定义全局变量
void sharedFunction() {
// 函数实现
}
// File2.c
#include "shared.h"
// 可以使用 sharedVariable 和 sharedFunction