枚举(enum)是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。enum中定义的值是C语言中真正意义上的常量。
enum值是可以根据需要自定义的整型值。
第一个定义的enum值默认为0。
enum Color
{
GREEN, // 0
RED = 2,
BLUE // 3
};
enum中定义的值是C语言中真正意义上的常量。前面提到过const在C语言里面其实只不过定义的是只读变量,并不是真正意义上的常量。
在工程中enum多用于定义整型常量。
enum //无名枚举,用于定义常量
{
ARRAY_SIZE = 10 //定义数组的大小
};
int array[ARRAY_SIZE] = {0};
int i = 0;
for (i=0; i < ARRAY_SIZE; i++)
{
array[i] = i + 1;
}
#include <stdio.h>
enum
{
ARRAY_SIZE = 10
};
enum Color
{
RED = 0x00FF0000,
GREEN = 0x0000FF00,
BLUE = 0x000000FF
};
void PrintColor(enum Color c)
{
switch( c )
{
case RED:
printf("Color: RED (0x%08X)\n", c);
break;
case GREEN:
printf("Color: GREEN (0x%08X)\n", c);
break;
case BLUE:
printf("Color: BLUE(0x%08X)\n", c);
break;
}
}
void InitArray(int array[])
{
int i = 0;
for(i=0; i<ARRAY_SIZE; i++)
{
array[i] = i + 1;
}
}
void PrintArray(int array[])
{
int i = 0;
for(i=0; i<ARRAY_SIZE; i++)
{
printf("%d\n", array[i]);
}
}
int main()
{
enum Color c = GREEN;
int array[ARRAY_SIZE] = {0};
PrintColor(c);
InitArray(array);
PrintArray(array);
return 0;
}
输出结果:
本文链接:http://so.lmcjl.com/news/23746/