C/C++ 中extern关键字详解
在 C/C++ 中,extern
是一个很常见的关键字,常用于声明全局变量或函数。本文将对 extern
关键字进行详细讲解。
1. 变量声明
当在多个源文件中引用同一全局变量时,需要在其中一个源文件中定义该全局变量,然后在其它源文件中使用 extern
关键字声明该变量。这样确保了在多文件编译时,每个文件都将引用同一变量。
下面是一个示例:
// file1.c
int count;
// file2.c
extern int count;
int main() {
count = 5;
return 0;
}
在上面的示例中,变量 count
在 file1.c
中进行定义,然后在 file2.c
中通过 extern
关键字进行声明,并在 main
函数中进行使用。
2. 函数声明
在头文件中声明函数时,通常会使用 extern
关键字,以告知编译器这是一个函数声明而非函数定义。这样做可以避免在头文件被包含多次时出现重定义错误。
下面是一个示例:
// test.h
extern void printHelloWorld();
// test.c
#include <stdio.h>
#include "test.h"
void printHelloWorld() {
printf("Hello, world!");
}
// main.c
#include "test.h"
int main() {
printHelloWorld();
return 0;
}
在上面的示例中,头文件 test.h
中的函数声明使用了 extern
关键字,以告知编译器这是一个函数声明。在 test.c
中进行函数的定义,然后在 main.c
中进行函数的调用。
总结
extern
通常用于声明全局变量或函数- 变量的定义通常在一个源文件中进行,然后在其它源文件中使用
extern
进行声明 - 函数的声明通常在头文件中进行,函数的定义在源文件中进行,避免出现重定义错误。
希望本文能够帮助你更好地理解 extern
关键字。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C/C++ 中extern关键字详解 - Python技术站