顶一下,正要用到菜单,拜读完Gorgon educer的帖子,好像是入门了,非常感谢Gorgon Meducer大侠.
另,关于程序编写的细节,斗胆提两个建议.请批评指正.
1.结构体数组在定义的时候赋值应该比定义完再逐项赋值节省很多行代码,
而编译之后的效果,比如占用rom空间之类的,我想应该是一样的.
2.MenuItem结构体中的MenuCount项似乎没什么意义,数组中的每一个元素
都是一样的值,只是记载了数组中有多少个元素.我想设定一个变量
也能记载,或者不设定变量,用sizeof运算符也能轻易获得数组中有多少元素.
附程序如下:(tc2.0编译,程序改编自谭浩强的教材)
#include
struct stu
{
int num;
char *name;
char sex;
float score;
};
#define STU struct stu
STU boy[5]=
{
{101,"Li ping",'M',45},
{102,"Zhang ping",'M',62.5},
{103,"He fang",'F',92.5},
{104,"Cheng ling",'F',87},
{105,"Wang ming",'M',58},
};
int main(void)
{
printf("sizeof-boy=%d
",sizeof(boy));
printf("sizeof-boy[0]=%d
",sizeof(boy[0]));
printf("boy's number=%d
",sizeof(boy)/sizeof(boy[0]));
return 0;
}
程序运行结果----
sizeof-boy=80
sizeof-boy[0]=16
boy's number=5