a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 78|回复: 0

[LPI认证] linux认证辅导:C语言中的枚举类型及在Linux系统中的作用

[复制链接]
发表于 2012-8-4 12:13:19 | 显示全部楼层 |阅读模式
 [点评:列举一般用于界说一个集结,如色彩,礼拜等等,他供给了加倍切近现实的对对象的描述,便利了编程工作.]/ a7 B6 |- D3 o; y* K7 j5 U3 ^0 U
  下面简单介绍下C说话中的列举类型和在Linux系统中的浸染。5 {9 i2 @8 V3 y) x9 R( P) p( G
  列举是一个被命名的整型常数的集结, 列举在日常糊口中很常见。# e, _) X: ]8 N" l8 s2 B, h; I/ D' F
  例如暗示礼拜的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,SATURDAY, 就是一个列举。/ H. u$ I0 k% h0 g  ^& M
  列举的声名与结构和连系相似, 其形式为:
) `* u2 r7 a. T4 H, y, S9 l7 ?  enum 列举名{
' d: X/ ~+ d+ l& Q! J  标识符[=整型常数],
( L+ G1 J& B# X- z  标识符[=整型常数],  s, x; C, `$ ]: N# B
  ...! F* ]" ]5 e  D9 g3 \* c% q2 A1 L6 I; P0 Q
  标识符[=整型常数],+ F3 z' V, \: m- Q
  } 列举变量;
" k7 o# [$ I7 `2 k  如不美观列举没有初始化, 即省失踪"=整型常数"时, 则年夜第一个标识符起头, 顺
2 D" N- o( z8 n6 I1 \: r: Y0 X  次赋给标识符0, 1, 2, ...。但当列举中的某个成员赋值后, 厥后的成员按依次( N; w* ?* r, w5 m. l
  加1的轨则确定其值。% ?  I7 h. ~" h, I! j
  例如下列列举声名后, x1, x2, x3, x4的值分袂为0, 1, 2, 3。
: [$ o/ k* [0 C0 k4 @% s4 @. L% t2 H7 _  enum string{x1, x2, x3, x4}x;* V4 K: [$ y# E  G) }; U/ j' I& N
  当界说改酿成:$ z$ b+ ^  \3 z! Y
  enum string
6 r3 u7 v1 v/ y( T  {
( m0 N5 G1 b5 T* D1 X  x1,
$ Z0 ?) f5 X) m  x2=0,
5 m8 P) ]: x; F% g3 G  x3=50,0 l7 Q  I' j$ L3 U5 Q
  x4,% h) K" b4 R3 t0 ~
  }x;
3 W; J" t3 H: M  I8 y& m  则x1=0, x2=0, x3=50, x4=51
: M2 J) S5 q, v  V! [, o  注重:7 F$ X' C7 H( B& V9 P
  1. 列举中每个成员(标识符)竣事符是",", 不是";", 最后一个成员可省略4 q* f& N, b# g; ?# Q3 ]& @# Z" {
  ","。
* B8 S; r1 G) B! y2 {; u+ t  2. 初始化时可以赋负数, 往后的标识符仍依次加1。$ U" D* e5 O2 i& n* G% p
  3. 列举变量只能取列举声名结构中的某个标识符常量。6 D, h6 h, T. t$ _4 ]: M! d
  例如:
/ U7 L6 l) K, h; k& e, p5 D: }' X  enum string# ]) {$ T9 P+ Z8 g9 V! X# \
  {' R+ ?$ e4 ^( g
  x1=5,! o! g  A+ P3 E! Y5 y
  x2,
4 `# H  F- S2 N& M' u) Q  v  x3,
, r8 \2 M) ]: \7 ?% ~4 w  x4,
7 x/ [" t- f( Q7 w' _7 ~2 d* T  };
5 k3 ?9 w0 U6 q- X- _! p  enum strig x=x3;
! q3 ~  ~5 s. w) F  此时, 列举变量x现实上是7。9 p& W$ y, R% C1 M
  enum 关头字在c赌暌姑的是斗劲多的,它常用来界说标识表记标帜整型常量,你去看良多操作系统的源代码,都有用这个关头字来一次界说良多标识表记标帜整型常量,其实它相当于界说一个整型常量的表,提醒便利应用时查找。当然他的年夜部门功能都可以被宏界说庖代,不外事实下场enum关头字界说的东东是撑持类型搜检的,可以用编译器来发现一些错误(enum界说的只能是整型的常量表)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 13:10 , Processed in 0.307130 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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