C语言-自定义类型2

简介: C语言-自定义类型2

枚举

enum 枚举类型 {枚举值列表};

枚举就是把每一种可能的取值一一列举出来。

比如我们做的单项选择题,列举出来四种可能的选项,让我们选择最可能的那一项。

月份有12个月,也可以一一列举。

enum Month     //月份
{
  Jan,
  Feb,
  Mar,
  Apr,
  May,
  Jun,
  Jul,
  Aug,
  Sep,
  Oct,
  Nov,
  Dec
};

枚举类型的定义

enum Day//星期
{
Mon,
Tues,
Wed,
Thur,
Fri,
Sat,
Sun
};

enum Day , enum Month 都是枚举类型

{}中的都是可能取值,也就是枚举常量。

这些可能取值都是有值的,默认第一个从0开始,一次递增1,也可以在开始定义的时候赋初始值。

例如:

默认

赋初始值

枚举类型使用案例

调用枚举类型变量

enum Color
{
  red,green,blue
};
int main()
{
  enum Color a, b, c;          //创建枚举类型变量
  a = blue;
  b = red;                       //赋值
  c = green;
  printf("%d %d %d", a, b, c);
  return 0;
}

具体使用案例

#include <stdio.h>
enum weekday {  mon=1, tue, wed, thu, fri, sat ,sun } day;      //初始化mon=1,创建变量day。
int  main()
{
  int n;
  printf("请输入1到7的数:");
  scanf("%d", &n);
  day = (enum weekday)n;       //类型转换
  switch (day)
  {
  case mon: printf("monday\n"); break;
  case tue: printf("tuesday\n"); break;
  case wed: printf("wednesday\n"); break;
  case thu: printf("thursday\n"); break;
  case fri: printf("friday\n"); break;
  case sat: printf("satday\n"); break;
  case sun: printf("sunday\n"); break;
  default: printf("输入错误\n"); break;
  }
  return 0;
}

输入数字几即可打印星期几。


相关文章
|
2月前
|
安全 编译器 Linux
【c语言】轻松拿捏自定义类型
本文介绍了C语言中的三种自定义类型:结构体、联合体和枚举类型。结构体可以包含多个不同类型的成员,支持自引用和内存对齐。联合体的所有成员共享同一块内存,适用于判断机器的大小端。枚举类型用于列举固定值,增加代码的可读性和安全性。文中详细讲解了每种类型的声明、特点和使用方法,并提供了示例代码。
27 3
|
2月前
|
存储 编译器 Linux
C语言——自定义类型
C语言——自定义类型
|
2月前
|
存储 编译器 C语言
【C语言】自定义类型:联合与枚举的简明概述
【C语言】自定义类型:联合与枚举的简明概述
|
4月前
|
存储 安全 编译器
C语言自定义类型
C语言自定义类型
35 10
|
4月前
|
存储 编译器 C语言
【C语言篇】自定义类型:联合体和枚举详细介绍
像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。
48 1
|
6月前
|
编译器 测试技术 C语言
【C语言】:自定义类型:结构体的使用及其内存对齐
【C语言】:自定义类型:结构体的使用及其内存对齐
76 7
TU^
|
6月前
|
编译器 C语言 C++
C语言之自定义类型
C语言之自定义类型
TU^
43 2
|
6月前
|
编译器 C语言 C++
【C语言基础】:自定义类型(二) -->联合和枚举
【C语言基础】:自定义类型(二) -->联合和枚举
|
6月前
|
编译器 C语言
【C语言基础】:自定义类型(一)--> 结构体-2
【C语言基础】:自定义类型(一)--> 结构体
|
6月前
|
编译器 Linux C语言
【C语言基础】:自定义类型(一)--> 结构体-1
【C语言基础】:自定义类型(一)--> 结构体