c语言中的extern
⑴ c语言中extern的意思是什么
extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。
extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:
文档A.cpp调用a.c里面的变量i和函数callme()
添加了extern “C”链接指示后,上面的代码就能够正常运行了。
⑵ C语言中全局变量说明符extern该如何使用
在C语言中,extern是全局变量声明的关键字
只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上)若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下,如
在file1.c中定义的全局变量,file2.c中想要使用该变量,即使include了头文件,但是如果没有extern关键字来声明的话,在file2.c中是无法访问到的。
⑶ c语言中extern怎么用,举个简单例子说明下,谢谢。
extern是外部声明用的,用来声明外部的函数或者变量定义。
例如,你在1.C中定义了一个函数和变量:
void fun1(void);
int a = 0;
而你要在2.c中调用 fun1(),并且蠢斗读取a的值,
那么需要再2.c的头部如下外部声明:
extern void fun1(void);
extern int a = 0;
这样的敏档郑话在编译器在编译2.c时,不会报错误,而在链接时找桥颂fun1、a,以实现对外部函数、变量的访问。
⑷ extern在c语言中是什么意思
是一个修饰符。
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。
extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。
⑸ C语言中,extern关键字怎么使用最好解释清楚一点。
extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。
如果你定义A.cpp和B.cpp中都定义了全局变量i。那么分别编译,都可以通过,但是链接时就会报错。
B.obj : error LNK2005: "int i" (?i@@3HA) already defined in A.obj
反之,如果我们希望A.cpp和B.cpp中使用的i是同一个i。也就是两个文件,共同使用同一个全局变量。如果我们不在B.cpp中定义i。那么编译时就会报错,提示
error C2065: 'i' : undeclared identifier
如果我们定义i就会出现上面所说的错误。
于是,我们需要extern关键字。告诉编译器。这个i我们在别的模块中定义过了。你要编译的话,取别的模块找一找。这样程序就能够自动去A.cpp中寻找i的定义。并且让它在B.cpp中可以被使用。