c语言extern用法
答:extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:文档A.cpp...
答:extern "C"{ endif endif /* __cplusplus */ ……//.h文件结束的地方 ifdef __cplusplus if __cplusplus } endif endif /* __cplusplus */ </SPAN>3 问题:extern 函数1 常常见extern放在函数的前面成为函数声明的一部分,那么,C语言的关键字extern在函数的声明中起什么作用?答案与分析:如...
答:extern int num()这个要放在main函数的外部,并且在main函数的上边。并且对于 a 这个全局变量也要声明,也就是extern int a;这句。 你放在main函数中是没问题的,但是这个就意味着a这个变量只能在 main 函数中被调用,而无法在main所在的c文件中的其他函数调用。
答:extern float a;extern float b;extern 时,也要带类型的,它是声明嘛。 C 语言里面,你要是没有显式的指定类型,默认的就是 int,所以会产生莫名其妙的问题。C/C++ 中,变量是可以多次声明的,但是只能定义一次。也就是说,声明和定义是不同的概念。当你在一个地方要用它的时候,你可以声明一...
答:1、外部函数extern时声明这个函数为外部函数,本文件不做定义,只调用,编译不会出错,但不能运行(没有函数实体)。如果想有运行结果就必须将函数实体包含进来,所以文件包含和extern是配合使用的。文件包含只需要包含.h就是实体的头文件,但有些软件貌似不能识别头文件和c的关系,所以就只能包含.c文件...
答:定义在函数体外部的变量叫全局变量,要定义全局变量你只要把变量定义在 所有函数外部即可。要注意的是,全局变量只对它定义位 置以下的函数可见。include<stdio.h> void f1();void f2();int y=100;int main(){printf("%d\n\n",y);//printf("%d\n",x);这不可以读x,x对main()不可见 f1...
答:float:声明浮点型变量或函数 double :声明双精度变量或函数 char :声明字符型变量或函数 struct:声明结构体变量或函数 union:声明共用数据类型 enum :声明枚举类型 typedef:用以给数据类型取别名 const :声明只读变量 unsigned:声明无符号类型变量或函数 signed:声明有符号类型变量或函数 extern:...
答:那么在file2.c是无法访问到变量a的。原因在于用static对全局变量进行修饰改变了其作用域的范围,由原来的整个工程可见变为本源文件可见。(3)修饰函数 用static修饰函数的话,情况与修饰全局变量大同小异,就是改变了函数的作用域。extern关键字 在C语言中,修饰符extern用在变量或者函数的声明前,用来说明...
答:例5:你认为这个程序会编译成功吗?这是C语言标准中的一个内容,如果一个变量只是被声明并且同时又被初始化了,那么该变量的内存也将被分配——换句话说,该变量将被认为是已定义的。因此,按照C语言标准,这个程序可以顺利编译并正常执行。 这就是C中extern关键字的一些补充介绍。 简单总结:
答:外部变量是在函数外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的结尾。在此作用域内,全局变量可为各个函数所引用。编译时将外部变量分配在静态存储区。有时要用extern来声明外部变量,以扩展外部变量的作用域。 也可用static声明外部变量,使该变量不能被其他文件引用。用extern声明...
网友评论:
邰涛15359514101:
c语言中的extern怎么用? -
51576祖保
: extern在c中就是个外部申明,因为C是先申明再使用,当你想调用的变量或者函数不在你的模块当中,你可以使用外部申明.在使用外部申明的时候要特别注意,因为这只是个申明,并不是实体,当出现声明和实体不符的时候,编译器是不会管...
邰涛15359514101:
C语言中extern的用法 -
51576祖保
: extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义. 另外,extern也可用来进行链接指定.extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个...
邰涛15359514101:
c语言中extern怎么用,举个简单例子说明下,谢谢. -
51576祖保
: 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,以实现对外部函数、变量的访问.
邰涛15359514101:
c语言extern的用法 -
51576祖保
: 你这里有几个问题我给你说下. 1,我把你的程序直接黏贴是编译不了的,就是有许多中文字符的符号,这个要注意,所有符号要在英文格式下输入. 2,你在main函数中并没有调用num()这个函数,也就是num()函数未被执行,所以即使...
邰涛15359514101:
C语言中,extern 一般在什么时候用.如何用 -
51576祖保
: 声明的时候用,该变量已经在其他地方被定义,这里只需用extern声明即可
邰涛15359514101:
C语言中全局变量说明符extern该如何使用? -
51576祖保
: 如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用.即下述两个函数声明没有明显的区别: extern int f(); 和int f(); 当然,这样的用处还是有的,就是在程序中取代include “*.h”来声明函数,在一些复杂的项目中,比较习惯在所有的函数声明前添加extern修饰.
邰涛15359514101:
c语言高手进,深究一下extern的用法
51576祖保
: 1.全局变量放在头文件里面必须使用extern关键字修饰,如果不这么做,想想,如果多个源文件包含这个头文件,那么展开头文件时就会发生重定义的错误,使用extern指出,只声明该变量可能不在此处定义,编译时,编译器将会寻找它的定义,如果在某处找到一个或多个定义,则会提示变量重定义的错误,如果未发现该变量的定义,则会提示变量未定义的错误. 2.条件编译适用于在不同情况下,来决定是引用变量还是定义变量,例如,在某些情况下,可以约定如果某个宏已定义,则标识某个变量已定义,那我们就可直接使用extern来引用它,如果宏未定义,则说明变量尚未定义,则需要定义该变量.
邰涛15359514101:
C语言 extern -
51576祖保
: 在头文件中声明函数时,前面的extern可有可无,只要这些函数曾在某个.c文件中实现就行了,不过一些函数没有在所包含的头文件中给出声明,同时函数的定义位于其它文件中,这时候使用该函数的.c文件必须用extern标记该函数为外部函数....
邰涛15359514101:
C语言中 extern 的用法,最好有示例,概念少说点
51576祖保
: extern我用了几次,主要是声明外部变量的作用,我用的也是在头文件中.比如说,你有一个project.c,lib.c,lib.h,三个文件,在lib.h里面有lib.c的变量定义,比如a[4]数组,也就是说这个变量是lib.c的全局变量,当我在project.c文件中要用到的时候...
邰涛15359514101:
C语言如何使用extern 举例如果该变量在一程序中已定义,而在其它程序中使用.怎么说明这个变量已定义过 -
51576祖保
: 会自动找这个变量啊//A.cpp ///A源文件zhidao extern int i; void main() { i = 100; //试图使用B中定义的全局变量回 } //B.cpp ///B 源文件 int i; ///在B中定义 当在A里面碰到i变量,会自动到别的文件里面去找,记得A和答B要放到一个工程里面