C++枚举类型和typedef声明新的类型名

来源:互联网 发布:会武术的男人 知乎 编辑:程序博客网 时间:2024/06/02 19:42

如果一个变量只能有几种可能的值,可以定义为枚举类型。所谓枚举类型就是把变量的值一一列举出来,变量的值只能在列举出来的值的范围内。

enum weekday{sun,mon,tue,wed,thu,fri,sat};
  • 上面声明了一个枚举类型weekday,花括号里的称为枚举元素或枚举常量。表示这个类型的变量只能是以上7个值之一。
  • 在声明了枚举类型后,可以用它来定义变量。
weekday workday,week_end;
  • 枚举元素按常量处理,不能对他们赋值
  • 枚举元素是有值的,其值是一个整数,编译系统按定义时的顺序对他们赋值0,1,2,3.。。。
workday=moon;//把枚举常量赋值给枚举变量workday,其值为1cout<<workday<<endl;//输出整数1,而不是字符mon

也可以在声明枚举类型时自己制定枚举元素的值
enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat};
制定sun为7,mon为1,以后按顺序加1
- 枚举值可以用来作比较判断

if(workday==mon)...
  • 不能把一个整数直接赋值给一个枚举变量
    workday=tue; //正确
    workday=2; //错误

    要进行强制类型转换
workday=(workday)2;

typedef声明新的类型名

1.

typedef int INTERGER;

int a;INTERGER a;完全一样

2.也可以对一个结构体类型声明一个新的名字

typedef struct{int month;int day;}DATA;

这样就可以用DATE定义变量

3.还可以用typedef进一步声明一个新的类型名,
例如

typedef int NUM[100];//声明NUM为整型数组类型,包含100个元素NUM n;//定义n为包含100个整型元素的数组
原创粉丝点击