keil中 两个.c文件调用同一个全局变量 .h头文件中定义全局变量

keil 两个.c文件调用同一个全局变量 .h头文件中定义全局变量
本人在开发C51单片机项目,IDE为KEIL。现有两个.c文件同时载入一个.h头文件。两个.c文件中的函数同需调用同一个变量。请问我应该怎样定义?试过在.h中用extern声明,结果会报错。

在一个C文件中定义你需要的变量
在另一个C文件用EXTERN声明一下
就可以用了
温馨提示:内容为网友见解,仅供参考
无其他回答

单片机Keil C51 C语言多文件如何使用全局位变量?跪拜!!
extern就可以。在一个文件里定义:bdata m;sbit x=m^1;然后在另一个文件里声明:extern bdata m;(如果不使用m可以不声明。)extern bit x;这样就可以使用了。如果变量较多,建议楼上的方法,用全局头文件。

关于C语言中变量在两个.C文件中的调用问题
方案1:在一个文件中定义全局变量“类型 tmp;”,注意是全局变量。另一个文件全局变量的位置使用“extend 类型 tmp;”。方案2:把hal.c文件里的函数参数加一个指向tmp的指针,tmp在main中,在hal.c里的文件使用tmp时,把地址传过去就行了。例如:mian(){ char tmp;...} function(&tmp;...;.....

c语言中如何声明一个全局变量,在两个.c文件中使用
在test.c中直接使用printf()打印的,那如果正常应该怎么去声明一个全局变量在两个文件中使用,并且这两个.c文件是两个线程,也就是说main.c中的全局a变量会直接影响到test.c,test.c中一直在检查a的值,满足条件则运行相应的功能,说具体点,谢谢~~~我就接着这里回答了啊~~~如果是两个线程同时...

在keil中初始化时如何定义一个全局变量,并且赋初值为0xff
例如你的C文件是这样的 char x=0xff;char y;void main(){ ...} 那么在文件的一开始,函数之前定义的变量x和y就是全局变量,其中x已经赋初值0xff

keil中怎么将字符串定义成全局变量
在模块的.c文件内定义变量,比如: int uTem;在模块的.h文件里声明变量:extern int uTem;在其它要调用这个字符的模块.c文件中包含变量的.h文件:#include "模块.h"这样就可以在要调用的这个字符的模块.c文件中直接使用这个变量了

keil C多文件编程怎么使用其它文件里的变量?
你把int x,y;\/\/x,y定义为局部变量 这个语句放到程序开始,就是 void main(){ 后面 不是每个编译器都是必须在程序开始定义变量的,很多编译允许在使用的时候才定义变量。但keil就是一个要在程序开始定义变量的编译器。

linux下,多个c的源文件共用一个全局变量的方法?
你需要在其中一个*.c文件中定要该变量, 然后在其他*.c文件中引用该变量即可.例如你在aaa.c中定义 int a=10;在bbb.c中引用 extern int a;就可以使用了.但是如果你的变量很多,为了不让你在每个需要用的地方都加上上面这个语句 可以在aaa.h中声明上面这一句 extern int a;然后在需要用到的*....

我用keil在h文件用 extern定义了一个全局变量,在其他c 文件用到了,结 ...
直接把头文件加进来就是了,不用extern。在.c文件定义了变量才用extern

keil一个工程文件下可以放多个.c文件吗?但是编译时会出现错误,怎么解决...
当然可以,但你需要有配套的.h文件让C文件之间可以互相调用。例如有1.c和2.c两个文件,1.c中有个全局变量a,有个函数void b(void),那么就有1.h这么写 extern char a;void b(void);这样的话,如果2.c想使用a或函数b的话,在2.c的开头加一句#include "1.h"就能用了。

KEIL中全局变量,变量类型,LED灯,勿在中断延时
方法一 在一个文件里面定义了一个全局变量,如果想在其他文件使用,则要在这个文件中用 extern 声明。(1)定义时可以初始化。(2) extern 不能初始化 ,否则会报错。 例:在 init.c 中声明了 u32 TimingDelay = 0;   在 main.c 中使用此变量,需声明 extern u...

相似回答