extern关键字

来源:互联网 发布:知乎 国际政治 编辑:程序博客网 时间:2024/06/08 00:16

extern是计算机语言中的一个关键字,可置于变量或者函数前,以表示变量或者函数的定义在别的文件中。提示编译器遇到此变量或函数时,在其它模块中寻找其定义,另外,extern也可用来进行链接指定。

栗子:

a.h

#ifndef A_H#define A_Hchar c[] = "hello"; //定义全局变量c#endif

b.cpp

#include <stdio.h>#include "a.h"extern char c[]; //声明全局变量cint main(int argc, char *argv[]){    printf("c: %s\n", c);    return 0;}

extern即表明该变量在别的地方已经定义过了,在这里需要使用那个变量。
另外,关于extern “C”。

如:extern “C” void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的。