c语言extern的用法
答: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时,不会...
答:在C语言中,extern是全局变量声明的关键字只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上)若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下,如 在file1.c中定义的全局变量,file2.c中想要使用该变量,即使include了头文件,但是如果没有extern关键字来声明的...
答:C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译器,请保持我的名称,不要给我生成用于链接的中间函数名。下面是一个标准的写法://在.h...
答:在C语言中,修饰符extern用在变量或者函数的声明前,用来说明此变量/函数是在别处定义的,要在此处引用。1、extern修饰变量的声明,举例来说,文件a.c需要引用b.c中变量intv,可以在a.c中声明externintv,引用变量v。2、extern修饰函数声明,从本质上来讲,变量和函数没有区别,函数名是指向函数二进...
答:1 静态全局变量。有static修饰的变量为静态全局变量。需要定义在函数外,可以在定义位置到本文件结束部分使用。定义格式为 static type var=init_value;作用为定义一个类型为type,变量名为var的静态全局变量,并赋初始化值为init_value。当=init_value部分被省略时,系统自动初始化为0值。可以用extern...
答:对于多个文件的工程,都可以采用例2的方法。 对于模块化的程序文件,可以先预留好外部变量的接口,也就是只采用 extern 声明变量,而不定义变量值,像例2中的 max.c 中那样。变量值的定义留给使用者。通常,这些外部变量的接口都是在模块程序的 头文件 中声明的。当需要使用该模块时,只需在使用...
答:在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用。1.extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里需要注意的是,被引用的变量v的链接属性必须是外链接(...
答:extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:文档A.cpp...
答:extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:文档A.cpp调用a.c里面的变量i和函数callme()相关内容:C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行...
答:在C语言中引用外部变量,一般使用extern关键字。举个例子如下://1.c 中定义一个变量g_aint g_a = 100;//2.c 中定义一个函数输出g_a#include <stdio.h>extern int g_a; //这里需要用extern说明g_a是一个外部全局变量void f() { printf("%d\n", g_a);}//3.c main函数中调用f...
网友评论:
正盆19671772174:
c语言中的extern怎么用? -
53216权柄
: extern在c中就是个外部申明,因为C是先申明再使用,当你想调用的变量或者函数不在你的模块当中,你可以使用外部申明.在使用外部申明的时候要特别注意,因为这只是个申明,并不是实体,当出现声明和实体不符的时候,编译器是不会管...
正盆19671772174:
C语言中extern的用法 -
53216权柄
: extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义. 另外,extern也可用来进行链接指定.extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个...
正盆19671772174:
c语言中extern怎么用,举个简单例子说明下,谢谢. -
53216权柄
: 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,以实现对外部函数、变量的访问.
正盆19671772174:
C语言中 extern 的用法,最好有示例,概念少说点
53216权柄
: extern我用了几次,主要是声明外部变量的作用,我用的也是在头文件中.比如说,你有一个project.c,lib.c,lib.h,三个文件,在lib.h里面有lib.c的变量定义,比如a[4]数组,也就是说这个变量是lib.c的全局变量,当我在project.c文件中要用到的时候...
正盆19671772174:
c语言高手进,深究一下extern的用法
53216权柄
: 1.全局变量放在头文件里面必须使用extern关键字修饰,如果不这么做,想想,如果多个源文件包含这个头文件,那么展开头文件时就会发生重定义的错误,使用extern指出,只声明该变量可能不在此处定义,编译时,编译器将会寻找它的定义,如果在某处找到一个或多个定义,则会提示变量重定义的错误,如果未发现该变量的定义,则会提示变量未定义的错误. 2.条件编译适用于在不同情况下,来决定是引用变量还是定义变量,例如,在某些情况下,可以约定如果某个宏已定义,则标识某个变量已定义,那我们就可直接使用extern来引用它,如果宏未定义,则说明变量尚未定义,则需要定义该变量.
正盆19671772174:
C语言中全局变量说明符extern该如何使用? -
53216权柄
: 如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用.即下述两个函数声明没有明显的区别: extern int f(); 和int f(); 当然,这样的用处还是有的,就是在程序中取代include “*.h”来声明函数,在一些复杂的项目中,比较习惯在所有的函数声明前添加extern修饰.
正盆19671772174:
c语言extern的用法 -
53216权柄
: 你这里有几个问题我给你说下. 1,我把你的程序直接黏贴是编译不了的,就是有许多中文字符的符号,这个要注意,所有符号要在英文格式下输入. 2,你在main函数中并没有调用num()这个函数,也就是num()函数未被执行,所以即使...
正盆19671772174:
C语言 extern -
53216权柄
: 在头文件中声明函数时,前面的extern可有可无,只要这些函数曾在某个.c文件中实现就行了,不过一些函数没有在所包含的头文件中给出声明,同时函数的定义位于其它文件中,这时候使用该函数的.c文件必须用extern标记该函数为外部函数....
正盆19671772174:
在C语言中,extern的作用是什么?
53216权柄
: 在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数: [extern] 函数类型 函数名(函数参数表) {……} 调用外部函数时,需要对其进行说明: [extern] 函数类型 函数名(参数类型表)[,函数名2(参...
正盆19671772174:
C语言如何使用extern 举例如果该变量在一程序中已定义,而在其它程序中使用.怎么说明这个变量已定义过 -
53216权柄
: 会自动找这个变量啊//A.cpp ///A源文件zhidao extern int i; void main() { i = 100; //试图使用B中定义的全局变量回 } //B.cpp ///B 源文件 int i; ///在B中定义 当在A里面碰到i变量,会自动到别的文件里面去找,记得A和答B要放到一个工程里面