C语言的枚举类型:如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。
枚举的说明与结构和联合相似, 其形式为:
enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数],
} 枚举变量;
如果枚举没有初始化, 即省掉"=整型常数"时, 则从第一个标识符开始, 顺次赋给标识符0, 1, 2, ...。但当枚举中的某个成员赋值后, 其后的成员按依次加1的规则确定其值。
枚举变量只能取枚举说明结构中的某个标识符常量
/**/
/************************************************************
Copyright (C), 1998-2006, Rx. Co., Ltd.
FileName: mainApp.cpp
Author: longronglin
Version : 1.0
Date: 2006-10-06
Description:
Function List:
1. int main()
History:
<author> <time> <version > <desc>
longronglin 2006/10/08 1.0 modify xxx .
***********************************************************/
#include < stdio.h >
/**/ /*
* 返回1为正确执行
* 主函数
*
*/
int main()
... {
//默认起始为0,我这里设置为1。以后递增。可以为负。
enum dayOfWeek ...{Mon=1, Tue, Wed, Thu, Fri, Sat, Sun};
enum dayOfWeek dayNum;
int i;
dayNum = Fri;
printf("Wed is %d dayOfWeek ", Wed);
printf("Fri is %d dayOfWeek ", dayNum);
i = 0;
i = dayNum + 1;
printf("i is %d ", i);
return (1);
}
Copyright (C), 1998-2006, Rx. Co., Ltd.
FileName: mainApp.cpp
Author: longronglin
Version : 1.0
Date: 2006-10-06
Description:
Function List:
1. int main()
History:
<author> <time> <version > <desc>
longronglin 2006/10/08 1.0 modify xxx .
***********************************************************/
#include < stdio.h >
/**/ /*
* 返回1为正确执行
* 主函数
*
*/
int main()
... {
//默认起始为0,我这里设置为1。以后递增。可以为负。
enum dayOfWeek ...{Mon=1, Tue, Wed, Thu, Fri, Sat, Sun};
enum dayOfWeek dayNum;
int i;
dayNum = Fri;
printf("Wed is %d dayOfWeek ", Wed);
printf("Fri is %d dayOfWeek ", dayNum);
i = 0;
i = dayNum + 1;
printf("i is %d ", i);
return (1);
}
测试结果:
枚举可以为负如下:
/**/
/************************************************************
Copyright (C), 1998-2006, Rx. Co., Ltd.
FileName: mainApp.cpp
Author: longronglin
Version : 1.0
Date: 2006-10-09
Description:
Function List:
1. int main()
History:
<author> <time> <version > <desc>
longronglin 2006/10/09 1.0 modify xxx .
***********************************************************/
#include < stdio.h >
/**/ /*
* 返回1为正确执行
* 主函数
*
*/
int main()
... {
enum a ...{mon=-10 , tue};
printf("%d", tue);
return (1);
}
Copyright (C), 1998-2006, Rx. Co., Ltd.
FileName: mainApp.cpp
Author: longronglin
Version : 1.0
Date: 2006-10-09
Description:
Function List:
1. int main()
History:
<author> <time> <version > <desc>
longronglin 2006/10/09 1.0 modify xxx .
***********************************************************/
#include < stdio.h >
/**/ /*
* 返回1为正确执行
* 主函数
*
*/
int main()
... {
enum a ...{mon=-10 , tue};
printf("%d", tue);
return (1);
}