extern+int
答:和 变量的关系。先说只有一个文件(编译单元)的:int i=10;//这个是定义一个全局变量,值为10 extern int i=10;//这个是错误的,变量已经存在,怎么赋初值呢?extern int i;//这个和第一句 int i=10;可以同时存在在一个文件中。再说跨文件(多个编译单元)的:文件一:(假设这个文件没有...
答: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时,不会...
答:extern 是引用外部变量,这个a是在此文件外定义的。int a 是本文件自己定义的。extern int a 定义的a变量表示该变量在使用前已经定义了,一般有两种情况,一是该变量是在其他的文件中定义的全局变量,简称外部变量。二种情况表示变量在本文件中定义的全局变量,但是在使用之后(因为作用域)定义的。
答:extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:文档A.cpp...
答:2,你在main函数中并没有调用num()这个函数,也就是num()函数未被执行,所以即使编译通过也不会输出3,而可能是0或者不确定的值。3,再就是如果num函数在另外一个.c文件中,你在main函数的c文件中要对num函数进行声明,extern int num()这个要放在main函数的外部,并且在main函数的上边。并且...
答:区别:定义也是声明,extern声明不是定义。定义分配存储空间,而声明不会。通过使用extern关键字声明变量名而不定义它。 事实上它只是说明变量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。只有当声明也是定义时,声明才可以有初始化式,因为只有定义才分配存储空间。例如:extern int a其中...
答:extern定义的变量必须是全局的,这样才可能在其他文件中使用,所以,不能再语句块里定义。位于函数内的变量是局部变量。变量只能定义一次,所以,不管怎样,只能有一个extern int i=1这样的定义。extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它...
答:define用于定义常量 extern用于外部变量的引用说明,比如你在另外的地方(别的.c或.h文件中)开设了个全局变量int x,在当前文件中需要引用时,用extern进行说明,这样编译器就不会重新申请存储区了。例如:[func1.c]int x;...[mainfunc.c]extern int x;...[func2.c]extern int x;......
答:include"stdio.h"num(){ extern int x,y; //这句话表示x,y不是局部变量,而是函数外部声明的变量全局变量 int a=15,b=10;x=a-b; // x=5 y=a+b; // y=5 return;} int x,y; // 定义了x, y作为全局变量。 num()和main()中的x,y都是一样的,就是这定义的x,y...
答:c 全局变量默认是extern 如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。即下述两个函数声明没有明显的区别:extern int f(); 和int f();当然,这样的用处还是有的,就是在程序中取代include “*.h”来声明函数,在一些复杂的项目中,比较习惯在所有的...
网友评论:
刁克18965322861:
C++中,extern int x;是什么意思 -
33199谭试
: 1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义. 另外,extern也可用来进行链接指定. 2 问题:extern 变量 在一个源文件里定义了一个数组:...
刁克18965322861:
c语言中的extern怎么用? -
33199谭试
: extern在c中就是个外部申明,因为C是先申明再使用,当你想调用的变量或者函数不在你的模块当中,你可以使用外部申明.在使用外部申明的时候要特别注意,因为这只是个申明,并不是实体,当出现声明和实体不符的时候,编译器是不会管...
刁克18965322861:
C语言中extern的用法 -
33199谭试
: extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义. 另外,extern也可用来进行链接指定.extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个...
刁克18965322861:
C++中定义变量的时候用extern有什么用? -
33199谭试
: 在全局范围:int i;这是定义,定义i,初始化为0. int i = 1;这是定义,定义i,初始化为1. extern int i = 1;这是定义,定义i,初始化为1. extern int i;这是声明,声明有一个变量i,它的定义可能在其它文件中. 每个变量定义只能有一处.最好使每个变量都有且仅有一处定义. extern int i = 1;作用和int i = 1;没有区别,只是显式地提醒程序员i可能会在其它文件里用到.
刁克18965322861:
extern"c"{}什么含义?用在什么场合? -
33199谭试
: extern 是对变量做“外部变量声明”,表示把该外部变量的作用域扩展到此位置.有此声明,就可以合法的使用外部变量.例如:void main() { extern int i; //假如没有次此句,则使用i不合法return; } int i;这样应该就好了
刁克18965322861:
C++ 中 extern const 的用法? -
33199谭试
: 我来说一下,具体原因应该是这个,常变量在定义的时候必须初始化,所以当你在a.cpp中定义extern const double pi=3.14; b.pp中extern const double pi;可以通过编译运行.因为当编译系统发现a.cpp中的全局常变量时,就知道它pi是常量,而...
刁克18965322861:
c语言extern的用法 -
33199谭试
: 你这里有几个问题我给你说下. 1,我把你的程序直接黏贴是编译不了的,就是有许多中文字符的符号,这个要注意,所有符号要在英文格式下输入. 2,你在main函数中并没有调用num()这个函数,也就是num()函数未被执行,所以即使...
刁克18965322861:
C语言函数内部使用extern -
33199谭试
: extern 用于函数定义 表示全局可见的 用于变量 表示 他在其他 的地方 定义 要是在本函数定义 就是告诉 这个变量在任何地方可见 :事实上 大多数 都没有在函数名 之前加 存储类型 说明符的习惯 所以大多数的函数 都是全局可见的
刁克18965322861:
extern "c"是什么意思 -
33199谭试
: extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的.让我们来详细解读这两重含义.(1) 被extern "C"限定的函数或变量是extern类型的extern是C/C++语言中表明函数...
刁克18965322861:
C语言 extern -
33199谭试
: 在头文件中声明函数时,前面的extern可有可无,只要这些函数曾在某个.c文件中实现就行了,不过一些函数没有在所包含的头文件中给出声明,同时函数的定义位于其它文件中,这时候使用该函数的.c文件必须用extern标记该函数为外部函数....