31天C语言进阶——6,自定义类型:枚举

概述

一个类型,值只能是一堆值中的一个。
比如星期几,只会是星期一到星期天。

用数值表示的话就是0到6,但是0到6不太好理解。

而枚举可以用单词表示,提高了可读性。
本质上还是0到6。

简单使用

入门

新建三个变量,值分别为a b c

#include<stdio.h>
enum Gender {
    
    
	Male, Female, Empty
};
int main() {
    
    
	enum Gender a = Male;
	enum Gender b = Female;
	enum Gender c = Empty;

	printf("%d\n", a);
	printf("%d\n", b);
	printf("%d\n", c);
	return 0;
}

效果:0 1 2

在这里插入图片描述

判断

作为数值,当然可以参与判断。

#include<stdio.h>
enum Gender {
    
    
	Male, Female, Empty
};
int main() {
    
    
	enum Gender a = Male;

	printf("%d\n", a == Male);
	return 0;
}

效果:1,真。

在这里插入图片描述

自定义数值

默认01234…

可以自定义。

#include<stdio.h>
enum Gender {
    
    
	Male = 2, Female = 4, Empty = 6
};
int main() {
    
    
	enum Gender a = Male;

	printf("%d\n", a);
	return 0;
}

效果:2

在这里插入图片描述

番外:一种不严格的写法

在C语言中,可以直接赋值数值。

下面这段代码没有问题:

#include<stdio.h>
enum Gender {
    
    
	Male, Female, Empty
};
int main() {
    
    
	enum Gender a = 0;

	printf("%d\n", a == Male);
	return 0;
}

效果:

在这里插入图片描述
但是不建议使用。

猜你喜欢

转载自blog.csdn.net/qq_37284843/article/details/124510016