style="text-indent:2em;">大家好,extern是什么变量相信很多的网友都不是很明白,包括extern 不建议使用也是一样,不过没有关系,接下来就来为大家分享关于extern是什么变量和extern 不建议使用的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
本文目录
c语言中的extern怎么用
extern在c中就是个外部申明,因为C是先申明再使用,当你想调用的变量或者函数不在你的模块当中,你可以使用外部申明。在使用外部申明的时候要特别注意,因为这只是个申明,并不是实体,当出现声明和实体不符的时候,编译器是不会管的,链接后就可能出现错误。比如你的实体是intsample(intx);而你在申明的时候是externintsample(void);所以我不喜欢这种方式去声明。特别是多个人合作项目的时候,这种方法往往导致的结果很难去debug。即使是别人写好提供给你的,那他在修改了函数或者变量的类型,参数,往往会忘记修改给你的申明。
extern还有个作用就是当你C和C++混用的时候,比如在C++中要使用C,那么就要告诉编译器,你这段代码使用的是C,需要用C的编译器去编译,那可以使用extern"C"{.........}否则编译会有问题
extern是什么变量
是一个修饰符。
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。
extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。
const 和extern可以共用吗
不能一起用,常变量在定义的时候必须初始化,所以当你在a.cpp中定义externconstdoublepi=3.14;b.cpp中externconstdoublepi;当编译系统发现a.cpp中的全局常变量时,就知道它pi是常量,而换过来的时候,在a.cpp中定义constdoublepi=3.14;b.cpp中externconstdoublepi;编译系统在编译a.cpp是没有问题的,但到了b.cpp中就会发现,有一个外部常量是没有初始化的,而常量是不能在声明后再进行定义的,所以编译系统会认为找不到它的定义,所以就出错。
可以用extern修饰数组吗
可以,extern表示的改变量是在同一个项目下,在别的文件声明的全局变量
关于extern是什么变量,extern 不建议使用的介绍到此结束,希望对大家有所帮助。