❶ C语言中extern关键字的作用
extern 关键字 声明一个“外部变量” 。有了这个声明,就可以从声明开始的地方,合法地使用该外部变量了。
在例1中,我们在最后才定义了外部变量 g_X , g_Y ,由于外部变量定义的位置在main函数之后,因此本来我们在main函数中是不能够引用 g_X , g_Y 的,因为在使用伏薯友的时候并没有定义它们的数值。现在我们在main函数中用 extern 对它们进行“外部变量声明”,就可以从声明的位置起使用它们了。
对于多个文件的工程,都可以采用例2的方法。
对于模块化的程序文件,可以先预留好外部变量的接口,也就是只采用 extern 声明变量,而不定义变量值,像例2中的 max.c 中那样。变量值的定义留给使用者。
通常,这些外部变量的接口都是在模块程序的 头文件 中声明的。当需要使用该模块时,只需在使用时具体定义一下外部变量即可。比如main.c中的 g_X , g_Y 。
不过需要注意,由于用 extern 引用外部变量,可以在引用的模块内修改变量手弊的值,因此如果有多个文件同时对引用的变量进行操作,并且可能会修改该变量,那么就会影响其他模块的使用。因此需要慎重使用。
总结
一般来说,头文件只能声明函数和变量,其定义只能缺槐在某个.c文件中
❷ c语言中的extern是什么,有什么作用啊
extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。
extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或键御变量,那么要加extern来告诉编译器用c方式命名函数:
文档A.cpp调用a.c里面的变量i和函数callme()
添加了extern “C”链接指示后,上面的代码就能够正常运行了。
❸ extern在c语言中是什么意思
extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。
extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:
文档A.cpp调用a.c里面的变量i和函数callme()
(3)extern在程序中的作用扩展阅读
C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入伏携好输出、文件管理等功能,如需此类功能,需要通过配缺铅合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系隐轮统。