有一个名为“AAA.h”的头文件。在这个头文件中,我们定义了一个名为 的结构lrd
,它看起来像:
struct lrd
{
int tc;
char ptc[5];
char stc[5];
char ath[5];
int vc;
};
struct lrd lr;
这个头文件“AAA.h”包含在两个不同的文件名“BBB.c”和“CCC.c”中。我们lr
在“BBB.c”文件中为结构变量赋值如下:
lr.tc=tc;
memcpy(lr.ptc,ptc,sizeof(ptc));
memcpy(lr.stc,stc,sizeof(stc));
memcpy(lr.ath,ath,sizeof(ath));
lr.vc=vc;
以上源变量从数据库中获取值。lr
我们在“CCC.c”文件中使用结构变量。我们使用结构 lrd 变量如下:
char *ptc()
{
sprintf(str, "lr.ptc(%s)", lr.ptc);
trace(str);
return lr.ptc;
}
char *stc()
{
sprintf(str, "lr.stc(%s)", lr.stc);
trace(str);
return lr.stc;
}
变量 stc 在“CCC.c”文件中给出了错误的值。 请帮我弄清楚。