bmfs.net
当前位置:首页 >> 嵌入式—C语言—全局变量和ExtErn的用法 >>

嵌入式—C语言—全局变量和ExtErn的用法

全局变量区分静态全局变量和全局变量两种。 1 静态全局变量。 有static修饰的变量为静态全局变量。需要定义在函数外,可以在定义位置到本文件结束部分使用。定义格式为 static type var=init_value; 作用为定义一个类型为type,变量名为var的静...

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

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

如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。即下述两个函数声明没有明显的区别: extern int f(); 和int f(); 当然,这样的用处还是有的,就是在程序中取代include “*.h”来声明函数,在一些复...

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

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

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

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

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

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

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