extern是什么变量

佚名 怎么好看 2023-08-04 08:11:11 -
C语言 函数

style="text-indent:2em;">大家好,extern是什么变量相信很多的网友都不是很明白,包括extern 不建议使用也是一样,不过没有关系,接下来就来为大家分享关于extern是什么变量和extern 不建议使用的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

  1. c语言中的extern怎么用
  2. extern是什么变量
  3. const 和extern可以共用吗
  4. 可以用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 不建议使用的介绍到此结束,希望对大家有所帮助。

C语言32个关键字详解