首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

全局变量如何定义?

全局变量如何定义?

codewarrior下有两个.c文件,分别为eeprom.c和Evenrs.c.

现在要从eeprom.c中调用Evenrs.c中的某个变量,请问该如何用呢?

我现在在eeprom.c的开始定义了extern char sFlag;.编译时系统报错,说在Evenrs.c.中的sFlag没有定义.

这该如何解决呢?

程序见附件

KCO8IeRq.rar (675.24 KB)

看看

我在C里面学过

不过好久不用了

这个也是c啊

全局变量一般在程序的开头定义 作用于整个程序

放在开头了,好像不行

我现在把它放到了.h文件里了,至少编译没报错.

不知道时不时该这样做

请各位高手发表意见

编译不报错 那就应该没有问题的 奇怪

一般来说C 的书写是比较严格的  你在好好检查一下看看
QUOTE:
以下是引用fjczd在2008-12-16 16:20:00的发言:

放在开头了,好像不行

我现在把它放到了.h文件里了,至少编译没报错.

不知道时不时该这样做

请各位高手发表意见

编译虽然通过,但实际运行时,并不能把数据传过来.

QUOTE:
以下是引用fjczd在2008-12-16 16:20:00的发言:

放在开头了,好像不行

我现在把它放到了.h文件里了,至少编译没报错.

不知道时不时该这样做

请各位高手发表意见

QUOTE:
以下是引用luoman在2008-12-16 16:23:00的发言:
一般来说C 的书写是比较严格的 你在好好检查一下看看

编译虽然通过,但实际运行时,并不能把数据传过来.

看来还是存在问题

sFlag没有定义,只有声明。

sFlag没有定义,只有声明。

光有extern char sFlag;这句是不会为变量sFlag分配内存的。

需要在Events.c中加入char sFlag;

需要在Events.c中的函数体外加入char sFlag;

QUOTE:
以下是引用rowan在2008-12-17 9:56:00的发言:

sFlag没有定义,只有声明。

光有extern char sFlag;这句是不会为变量sFlag分配内存的。

需要在Events.c中加入char sFlag;

应该是在Events.c中用 extern char sFlag吧

我现在是这么用的:

在Events.c中加入extern char 在eeprom中用sFlag,char sFlag;

调试成功,运行也正确

时不时在.h文件中声明一下也可以啊
QUOTE:
以下是引用fjczd在2008-12-17 11:34:00的发言:
QUOTE:
以下是引用rowan在2008-12-17 9:56:00的发言:

sFlag没有定义,只有声明。

光有extern char sFlag;这句是不会为变量sFlag分配内存的。

需要在Events.c中加入char sFlag;

应该是在Events.c中用 extern char sFlag吧

我现在是这么用的:

在Events.c中加入extern char 在eeprom中用sFlag,char sFlag;

调试成功,运行也正确

调试是成功了,但是理解有错。11楼正解

返回列表