下面简单介绍下C语言中的枚举类型和在Linux系统中的作用。 枚举是一个被命名的整型常数的集合, 枚举在日常生活中很常见。
- C5 i% `. k0 S* U6 \" w3 b 例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,SATURDAY, 就是一个枚举。. O. v8 y: {; z9 ^% h
枚举的说明与结构和联合相似, 其形式为:' f# A& D+ m& Z( P: z+ Z. z
enum 枚举名{
6 s( S5 C7 h6 W6 ]( x/ j 标识符[=整型常数],3 D. D. i0 z5 d T. D' g
标识符[=整型常数],* R" V, n$ g' d
...
9 [6 j4 R |0 J# F- |: _ 标识符[=整型常数],
3 O2 v/ p3 ?5 t% j" K } 枚举变量;
! G" u2 t: H4 O; ?! H 如果枚举没有初始化, 即省掉"=整型常数"时, 则从第一个标识符开始, 顺
) B( i0 M8 m3 p1 {7 N2 j 次赋给标识符0, 1, 2, ...。但当枚举中的某个成员赋值后, 其后的成员按依次
/ K$ M1 ^; n+ Z7 _ Y; _4 x/ j, H 加1的规则确定其值。; m) ]- [( @+ h
例如下列枚举说明后, x1, x2, x3, x4的值分别为0, 1, 2, 3。: V) i; s3 q& G. |1 g
enum string{x1, x2, x3, x4}x;5 y. I! W& F R" ]& u( O2 k% a3 v. m
当定义改变成: T9 @# k5 |% O# _. M. |. G
enum string
. n2 w+ I6 k: n {: h* e+ f @8 w9 V5 `, ?' E
x1,
; M+ L- y9 u8 p. t5 }) H x2=0,) o V/ B Q, J2 U- R9 y [
x3=50,5 ^# z1 X. Z% C r/ N# f0 y2 |4 R
! C& [) @5 r2 T" O8 x4 O6 j
x4, |