如何在51中定义全局变量
编写模块化程序时遇到一个问题,在一个c文件中定义的数组无法在主函数中引用,求高手解答 自己先顶下 请问在主函数引用之前用extern进行声明了吗? lcofjp 发表于 2013-1-2 10:24 static/image/common/back.gif请问在主函数引用之前用extern进行声明了吗?
声明了,也不能调用 shumaguan.c中的内容
#include "shumaguan.h"
extern unsigned char zancunqu={0,0,0,0,0,0,0,0}; //八位数码管的数据暂存区
unsigned char code zima={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,
0x5e,0x79,0x71,0x76,0x38,0x73,0x31,0x3e,0x6e,0x40,0x80,0x00};
//数码管共阴字码
unsigned char WEI_flag=0;
void SMGxianshi()
{
WEI = 0x01<<WEI_flag;
DUAN= zima];
WEI_flag++;
if(WEI_flag ==8) WEI_flag=0;
}
main中的内容
#include "config.h"
void main()
{
SMGxianshi();
zancunqu = 1;
while(1);
} 把shumaguan.c中的extern去掉 Build target 'Target 1'
compiling main.c...
MAIN.C(5): error C202: 'zancunqu': undefined identifier
compiling shumaguan.c...
Target not created
不行的 shumaguan.c中
unsigned char zancunqu={0,0,0,0,0,0,0,0}; 进行定义。
main.c中
extern unsigned char zancunqu[]; 进行声明。 lcofjp 发表于 2013-1-2 10:39 static/image/common/back.gif
shumaguan.c中
unsigned char zancunqu={0,0,0,0,0,0,0,0}; 进行定义。
main.c中
可以了,太感谢了 定义一个函数,返回数组的首地址,在主函数中定义一个指针接收这个地址。
页:
[1]