C语言枚举enum的定义与使用
#include <stdio.h>
enum enum_type_enum
{
RED,
GREEN,
BLUE,
RED_BLUE=10,
RED_GREEN
} enum_colour;
void main(void)
{
unsigned char colour_id_test=0;
printf("枚举占%d字节\n",sizeof(enum_colour));
while(1)
{
printf("please input the colour value !\n");
scanf("%d",&colour_id_test);
switch(colour_id_test)
{
case RED:
{
printf("colour is red\n");
break;
}
case GREEN:
{
printf("colour is GREEN\n");
break;
}
case BLUE:
{
printf("colour is BLUE\n");
break;
}
case RED_BLUE:
{
printf("colour is RED_BLUE\n");
break;
}
case RED_GREEN:
{
printf("colour is RED_GREEN\n");
break;
}
default :
{
printf("the value is wrong\n");
break;
}
}/*end of switch(colour_id_test)*/
}/*end of while(1)*/
}/*end of main*/
结论:
1.枚举变量占用4个字节,所有成员公用4个字节空间,每个成员也是4个字节的空间,只会有一个成员同时存在。
2.第一个枚举的成员默认为0.后面的成员依次加1,如果有成员赋值,就从这个成员开始,后面的成员也依次加1.