织梦号织梦号

何其有幸,我们相遇。

extern在c语言中是什么意思 extern在c语言中用法

extern在c语言中是什么意思?c语言中extern通常置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。

extern在c语言中是什么意思 extern在c语言中用法

extern是全局变量声明 只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上) 若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下 例如 #include "my_Fun.c" extern int b;//b是在my_Fun.c中声明了的一个全局变量 这个extern 是个声明他可以在任何地方声明 引用了一个全局变量 (可以试试 在main()函数执行完之后声明 也不会出错) 这样在 工程的总头文件中就不需要考虑 先#include 哪个文件了


c语言中extern通常置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。


extern关键词表示当前声明的这个变量实际声明的位置在其他源文件中。被该关键词修饰的变量都是当做整个软件工程的全局变量来使用的。为什么必须用extern,或者不用的话会出现什么问题呢?

举个例子,假设有两个源文件src1.c和src2.c,在第一个文件中声明了一个全局变量int g_count=0;且在这个源文件中把这个变量增加到10。


如果在src2.c文件中想继续把这个变量增加10,有以下几种情况:

  1. 在src2.c文件的顶部也声明一个int g_count,这个时候编译可以通过,但是我们知道一个变量如果声明在顶部,那么该变量只在当前文件中全局有效,这意味着你把现在这个变量再增加10后,src1.c中的变量并不会改变。

  2. 在src2.c中直接对g_count加10,抱歉,这种情况下根本都不会编译通过!

  3. 在src2.c顶部增加extern int g_count;编译器认为这个变量是在本文件外部文件中声明的,即可实现对g_count变量的继续累加,这时该变量值编程20了。

以上内容就是小编为大家整理的extern在c语言中是什么意思 extern在c语言中用法。,希望能帮助到大家!


转载保留:织梦号 » extern在c语言中是什么意思 extern在c语言中用法

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏