bmfs.net
当前位置:首页 >> C语言:用ExtErn和不用ExtErn声明方法有什么区别? >>

C语言:用ExtErn和不用ExtErn声明方法有什么区别?

是这样的 如果你想定义一个静态函数 要在函数返回值类型前加static 如果你想定义一个外部函数 要在函数返回值类型前加extern(可省略) 也就是说 默认为extern的

extern表示是外部函数或外部变量,比如: 1、extern void add(int x,inty);表示该函数主体不在当前模块中,在另一个模块中(文件) 2、extern int total;表示该变量在另一个模块总定义过。 一般都把一些经常用到的枚举和变量之类的写在.h头文件...

用外面的,但不是main外面的,而是另一个文件中的。当然这另一个文件与本文件是有关联的……

#define用于定义常量 extern用于外部变量的引用说明,比如你在另外的地方(别的.c或.h文件中)开设了个全局变量int x,在当前文件中需要引用时,用extern进行说明,这样编译器就不会重新申请存储区了。 例如: [func1.c] int x; ... [mainfunc.c] ...

extern是外部声明用的,用来声明外部的函数或者变量定义。 例如,你在1.C中定义了一个函数和变量: void fun1(void); int a = 0; 而你要在2.c中调用 fun1(),并且读取a的值, 那么需要再2.c的头部如下外部声明: extern void fun1(void); extern...

不需要include,但是需要编译两个c文件再链接两个文件,你上面只编译了1.c,没有编译2.c,所以链接的时候找不到a的定义,会报错。

1 extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。 2 extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“ex...

声明时加不加extern无所谓,没区别,因为函数默认是extern属性

其实说简单点就是你有两个以上的.C文件,如果把一个变量或者函数声明为extern,例:在文件a.c中声明extern a;那么这个变量a,就可以在文件b.c中使用,否则在b.c中无法使用这个变量。

在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数: [extern] 函数类型 函数名(函数参数表) {……} 调用外部函数时,需要对其进行说明: [extern] 函数类型 函数名(参数类型表)[,函数名2(参数类型表2)……]; ...

网站首页 | 网站地图
All rights reserved Powered by www.bmfs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com