a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 196|回复: 1

[LPI认证] Linux学习:C语言中的枚举类型在Linux中的作用

[复制链接]
发表于 2012-8-4 12:13:19 | 显示全部楼层 |阅读模式
下面简单介绍下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,
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:13:20 | 显示全部楼层

Linux学习:C语言中的枚举类型在Linux中的作用

</p>  }x;) P) Q0 {. D' R4 z# f
  则x1=0, x2=0, x3=50, x4=51
' ^8 ], Q3 |+ Z% X) Q7 `, f/ ~' G$ t  注意:
- P" X, R$ S2 T. c  1. 枚举中每个成员(标识符)结束符是",", 不是";", 最后一个成员可省略
3 H% C; c! y  v8 r, a  ","。2 C) y/ T4 G3 P# N
  2. 初始化时可以赋负数, 以后的标识符仍依次加1。6 K& V/ [3 B  A0 j/ Z1 |% m" u5 a" ^
  3. 枚举变量只能取枚举说明结构中的某个标识符常量。
  m  ]0 T; p, G% H+ `9 X  @, |. l  例如:4 M+ x5 G: o" n
  enum string
; G2 \  J1 p0 A9 d' J7 x; s2 m  {
3 E: X$ k4 Z# s# Y+ Y  x1=5,. C( w, U! r; R- F. l2 e* b
  x2,3 r8 F+ E# P# A
  x3,; o7 Q7 {: m3 e" o) p0 [' M
  x4,, X9 S, d" ?$ I2 T
  };& r! l5 A* C; k# Y
  enum strig x=x3;
& Q+ V- X, j& ~: k  此时, 枚举变量x实际上是7。  G( G6 H! [4 X% P
  enum 关键字在c中用的是比较多的,它常用来定义标记整型常量,你去看许多操作系统的源代码,都有用这个关键字来一次定义许多标记整型常量,其实它相当于定义一个整型常量的表,青年人网提示方便应用时查找。当然他的大部分功能都可以被宏定义代替,不过毕竟enum关键字定义的东东是支持类型检查的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-15 17:08 , Processed in 0.188859 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表