extern
是一个关键字,用于在C和C++中声明一个变量或函数的外部链接性。当您在一个源文件中使用 extern
声明一个变量或函数时,它表示该变量或函数是在另一个源文件中定义的,而不是在当前文件中定义的。
1. 声明全局变量的外部链接性:
// File1.c
int global_variable; // 定义一个全局变量
// File2.c
extern int global_variable; // 声明一个全局变量,表示它是在其他文件中定义的
2. 声明全局函数的外部链接性:
// File1.c
void foo(); // 定义一个函数
// File2.c
extern void foo(); // 声明一个函数,表示它是在其他文件中定义的
3. 在头文件中使用 extern:
通常,extern
关键字在头文件中使用,以便在多个源文件中共享变量或函数的声明。
// File1.h
extern int global_variable; // 在头文件中声明一个全局变量
// File1.c
#include "File1.h"
int global_variable = 10; // 在源文件中定义全局变量
// File2.c
#include "File1.h"
extern int global_variable; // 在其他源文件中使用外部声明
这样可以确保所有文件都使用相同的变量定义,避免了重复定义的问题,并且允许多个源文件共享全局变量或函数的信息。
总之,extern
关键字的主要作用是在一个源文件中声明另一个源文件中定义的变量或函数,以便在编译时将它们正确地链接在一起。