高效的C编程之: 变量类型
charbyte;
charc;
unsignedstate;
unsignedflags;
};
externstructglobsg;
#definetxg.tx
#definerxg.rx
#definebyteg.byte
#definecg.c
#definestateg.state
#defineflagsg.flags
#else
externchartx;
externcharrx;
externcharbyte;
externcharc;
externunsignedstate;
externunsignedflags;
#endif
/*************
*globals.c*
*************/
/*DEFINITIONSofglobals-singlesourcefile*/
#ifdef__arm
#includeglobals.h
structglobsg;
#else
chartx;
charrx;
charbyte;
charc;
unsignedstate;
unsignedflags;
#endif
/************
*access.c*
************/
#includestdio.h>
#includeglobals.h
intmain()
{tx=1;
rx=2;
byte=3;
c=4;
state=5;
flags=6;
printf(%u%u%u%u%u%un,tx,rx,byte,c,state,flags);
return0;
}
将变量定义在结构体内有以下几点好处。
·全局变量使用更小的内存空间。(没有使用结构体占有24字节,而使用结构体之后只占有12字节)
·全局变量被放置在ZI段而不是RW段,这样就减少了ROM映像文件的大小。
c语言相关文章:c语言教程
评论