c语言编程小技巧:c语言小技巧:枚举

c语言小技巧:枚举

enum weekday { sun,mou,tue,wed,thu,fri,sat }; 枚举类型在使用中有以下规定:

  • 1. 枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。例如对枚举weekday的元素再作以下赋值: sun=5;mon=2;sun=mon; 都是错误的。
  • 2. 枚举元素本身由系统定义了一个表示序号的数值,从0 开始顺序定义为0,1,2…。如在weekday中,sun值为0,mon值为1, …,sat值为6。
  • 3. 只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如: a=sum;b=mon; 是正确的。而: a=0;b=1; 是错误的。如一定要把数值赋予枚举变量,
    • 则必须用 强制类型转换,如: a=(enum weekday)2;其意义是将顺序号为2的枚举元素赋予枚举变量a,相当于: a=tue;
  • 4.特殊应用:
    • 因为枚举值是常量,所以可以使用枚举值来定义数组。例如:
    • typedef enum {PERIOD_T15m = 0,PERIOD_T24h,PER_PERIOD_NUM} PerPeriod;

    • 那么我们就可以使用枚举值来定义数组了:
      • unsigned char               trip_en[PER_PERIOD_NUM];

    • 同样引用数组元素方法如下:trip_en[PERIOD_T15m],trip_en[PERIOD_T24h]。

 

你可能感兴趣的:(编程,c,sun,语言)