问答网

当前位置: 首页 > 知识问答 > c语言全局变量extern怎么用

c语言全局变量extern怎么用

知识问答 浏览3次

在C语言中,extern关键字用于声明一个全局变量,表示该变量在其他文件中定义,当前文件中只是引用该变量。使用extern关键字的语法格式如下:

extern 数据类型 变量名;

其中,数据类型表示变量的类型,变量名表示变量的名称。使用extern关键字声明的变量可以在当前文件中使用,但是其定义必须在其他文件中进行。例如,在文件A中声明一个全局变量:

extern int global_var;

在文件B中定义该全局变量:

int global_var = 10;

在文件A中就可以使用该全局变量了,例如:

#include <stdio.h> extern int global_var; int main() { printf("global_var = %d ", global_var); return 0; }

需要注意的是,extern关键字只是声明一个全局变量,而不是定义它。因此,在使用extern关键字声明全局变量时,必须在其他文件中定义该变量,否则会导致链接错误

extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。

如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。即下述两个函数声明没有明显的区别:

extern int f(); 和int f();

当然,这样的用处还是有的,就是在程序中取代include “*.h”来声明函数,在一些复杂的项目中,比较习惯在所有的函数声明前添加extern修饰。