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

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

在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用。 1. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里...

建议外部的变量都加上extern声明(我还真不知道可以不加。。),最起码可读性大大提高,让其他人都知道这个变量是链接过来的

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

这 一般都 发生在函数 声明的时候,extern 是 外部 的意思,就是进行 外部函数声明。具体发生在 多个 C源文件中,不同 C文件间 的相互 函数调用。

可以 http://baike.baidu.com/link?url=gUudK8NGdxU80IGu6-uyZAoeoKXB-MN9Ymh5TaD7vZibSlQeN_T_5i5JOMeKU4uBMnenTR4wHTwXHnU4--267_

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

全局变量是在本文件中所有函数都可以使用的变量,保存在静态存储区,如果要在别的文件中使用这个变量需要加上extern来声明,这个变量是在别的文件中定义的全局变量,局部变量不能在别的文件中用extern声明

static修饰函数: 在修饰非成员函数时表示该函数不是全局函数,而仅供本文件使用; 在修饰成员函数时,表示该函数只能调用类的静态成员变量并且该方法可以不必经由实例化的类对象就能够应用; static修饰变量: 修饰全局变量时,该变量只能供本...

不可以,static表示是本文件内的变量(在函数中的是静态变量)。 extern表示是其他文件定义的变量,显然两者是矛盾的。

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

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