在C语言中,extern
关键字用于声明一个变量,表示该变量在其他文件中已经定义
- 声明(Declaration):使用
extern
关键字声明一个变量,告诉编译器这个变量在其他文件中定义。声明不会分配存储空间。通常,我们在头文件(.h)中声明全局变量。
// file1.h extern int global_var; // 声明全局变量global_var
- 定义(Definition):在某个源文件(.c)中定义变量,分配存储空间。通常,我们在源文件中定义全局变量。
// file1.c #include "file1.h" int global_var = 42; // 定义全局变量global_var并初始化为42
- 使用(Usage):在其他源文件中使用已声明的全局变量。
// file2.c #include "file1.h" void function() { global_var = 10; // 修改全局变量global_var的值 }
注意:在同一个源文件中,如果变量已经定义过,就不能再次声明。例如,在上面的file1.c
中,如果我们再次使用extern int global_var;
进行声明,编译器会报错。因此,应确保每个变量只声明一次。