C言語 - カスタムタイプ2

列挙する

enum 列挙型 {列挙値リスト};
列挙とは、考えられるすべての値を 1 つずつ列挙することです。
たとえば、多肢選択式の質問では、考えられる選択肢が 4 つリストされており、最も可能性の高いものを選択させます。
月は 12 か月あり、1 つずつリストすることもできます。

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

enum型の定義

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

enum Day と enum Month は
すべて、列挙型 {} で取り得る値、つまり列挙定数です。
これらの可能な値にはすべて値があります。デフォルトでは、最初の値は 0 から始まり、一度に 1 ずつ増加します。定義の先頭に初期値を割り当てることもできます。
例えば:
デフォルト
ここに画像の説明を挿入
ここに画像の説明を挿入
初期値を割り当てる
ここに画像の説明を挿入ここに画像の説明を挿入

列挙型の使用例

enum型変数を呼び出す

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;
}

ここに画像の説明を挿入
曜日を印刷する数値を入力します。

おすすめ

転載: blog.csdn.net/st200112266/article/details/127200707