枚举配合数组使用,我们在定义数组的时候,直接用该枚举类型的最后一个值作为数组大小。
下次要增加或者减少数组成员的时候就不用去改数组大小了,非常方便。
通过简单例子来体现一下:例如,对于一个水果店,有水果种类和每种水果的数量,用数组来定义,数组长度表示水果的种类,数组成员来表示每种水果的个数,水果种类用枚举定义:
enum {APPLE,ORANGE,BANANA,LEMON,TYPES};//苹果、橙子、香蕉、柠檬
int main(int argc, char *argv[])
{
unsigned char fruit[TYPES];
unsigned char i;
char name[64];
//摆货
fruit[APPLE] = 11;
fruit[ORANGE] = 12;
fruit[BANANA] = 13;
fruit[LEMON] = 14;
for(i=0;i<TYPES;i++)
{
sprintf_s(name,sizeof(name),"这是第%d类水果,库存%d个\n",i+1,fruit[i]);
printf("%s",name);
}
return 0;
}
打印结果如下图:
现在,我们需要上架一种水果如葡萄(GRAPE),则只需在种类TYPES前面插入加入的水果名称GRAPE,
enum {APPLE,ORANGE,BANANA,LEMON,GRAPE,TYPES};//苹果、橙子、香蕉、柠檬、葡萄
int main(int argc, char *argv[])
{
unsigned char fruit[TYPES];
unsigned char i;
char name[64];
//摆货
fruit[APPLE] = 11;
fruit[ORANGE] = 12;
fruit[BANANA] = 13;
fruit[LEMON] = 14;
fruit[GRAPE] = 15;//进货15个葡萄
for(i=0;i<TYPES;i++)
{
sprintf_s(name,sizeof(name),"这是第%d类水果,库存%d个\n",i+1,fruit[i]);
printf("%s",name);
}
return 0;
}
打印结果如图: