首页 > 其他分享 >C语言自定义类型:枚举(C语言进阶)

C语言自定义类型:枚举(C语言进阶)

时间:2024-03-18 12:31:30浏览次数:19  
标签:进阶 自定义 enum C语言 枚举 Mon printf 类型 定义

目录

前言

1、枚举类型定义

2、枚举的优点

3、枚举的使用

结语


前言

        本篇文章讲解C语言自定义类型:枚举类型。

        枚举顾名思义就是一一列举,把可能的值一一列举。像一周的周一到周日可以枚举;每年12个月,可以枚举。

1、枚举类型定义

enum Day//星期
{
	Mon,
	Wues,
	Wef,
	Thur,
	Fri,
	Sat,
	Sun
};

enum Sex
{
	MALE,
	FEMALE,
	SECRET
};

        我们可以看到,枚举类型的定义和结构体类似。以enum开头,后面接枚举类型的类型名,然后大括号。大括号里面放枚举类型的内容,如果想定义星期就放入星期一到星期天。如果想定义性别就输入男;女和保密。注意:内容中间用逗号隔开而不是分号,大括号结尾记得加“;”。

        枚举的内容有没有大小,下面我们来测试一下:

#include <stdio.h>

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

int main()
{
	printf("%d\n", Mon);
	printf("%d\n", Tues);
	printf("%d\n", Wed);
	printf("%d\n", Thur);
	printf("%d\n", Fri);
	printf("%d\n", Sat);
	printf("%d\n", Sun);
	return 0;
}

        结果如上。

2、枚举的优点

        用#define好像也可以实现同样的效果。那我们为什么要用枚举?

        枚举的优点:

        1、增加代码的可读性和可维护性

        2、和#define定义的标识符比较,枚举具有类型检查,更加严谨。

        3、防止了命名污染(封装)

        4、便于调试

        5、使用方便,一次可以定义多个常量

        在我们还没有很多编程经验时,可能感受不到枚举带来的便利,但当我们使用多了,就能慢慢体会到枚举类型的作用了。

3、枚举的使用

        定义枚举类型后,可以用枚举类型定义变量,定义的变量只能赋予枚举类型内容中有的值:

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

int main()
{
	enum Day d = Mon;
	return 0;
}

结语

        关于枚举,就讲完了,希望对大家有所帮助。

标签:进阶,自定义,enum,C语言,枚举,Mon,printf,类型,定义
From: https://blog.csdn.net/Pxiaoyao/article/details/136802730

相关文章

  • C语言最重要的知识点(6)
    第六章指针变量的本质是用来放地址,而一般的变量是放数值的。1、int *p中  *p和p的差别:简单说*p是数值,p是地址!*p可以当做变量来用;*的作用是取后面地址p里面的数值 p是当作地址来使用。可以用在scanf函数中:scanf(“%d”,p);2、*p++和(*p)++的之间的差别:改错题目中很重要......
  • C语言:渣女\0与被它区别对待的兄弟俩字符串与字符
    虽然这个拟人手法用的挺那啥,但是我觉得还挺贴切的。你觉得呢?欢迎浏览后发表自己的看法!目录一、字符(一)概念(二)实际操作二、字符串     (一)概念(二)实际操作三、\0对字符串特殊照顾,但对字符就不太行了四、小结一、字符(一)概念        其实字符理解起......
  • C语言:爱跳舞的转义字符——旋转,跳跃,我闭着眼
    转义字符,顾名思义:原来意思被转变的字符。比如0和\0。前者就是数字0,而后者被\这个符号垫起来后,就成了字符串的结束标志,代表没有内容。就好像\0在说:“旋转、跳跃我闭着眼,我已不在乎自己是个数字0。”目录一、概念二、一些常见的转义字符——让我们一起欣赏一场舞会盛宴......
  • c语言编程题
    1.密码破译要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母。例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、......
  • 排序算法01 - 插入排序 (C语言)
    原理将a[0]作为哨兵,然后从a[2]开始遍历数组,如果发现前者比后者大,则将后者存入哨兵,再从后向前调整数组元素的位置,最后将哨兵插入即可。图示代码#include<stdio.h>constintN=10010;inta[N];n;voidinsert_sort(inta[]){intj;for(inti=2;i<=n;i++){......
  • Asp.net Core关于自定义ControllerFeatureProvider的记录
    最近看公司的项目,发现公司对于自定义发现控制器搞了个方法,然后研究了一下,发现神奇现象基本原理可以查看 深入解析ASP.NETCoreMVC的模块化设计[上篇]-Artech-博客园(cnblogs.com) 大佬的博客这个是控制器的部分代码 publicclassApplicationServiceControl......
  • 内存函数(C语言)
    文章目录内存函数memcpymemmovememsetmemcmp内存函数使用内存函数需要包含头文件<string.h>memcpy将内存的数据拷贝到新空间void*memcpy(void*destination,constvoid*source,size_tnum);memcpy函数能将源地址后num个字节的数据拷贝到目标空间区别内存......
  • 【华为OD】C卷真题 100分:Wonderland游乐园 C语言代码实现[思路+代码]
      C++、java、python代码:【华为OD】C卷真题100分:Wonderland游乐园C/C++代码实现[思路+代码]-CSDN博客【华为OD】C卷真题100分:Wonderland游乐园Java代码实现[思路+代码]-CSDN博客【华为OD】C卷真题100分:Wonderland游乐园python代码实现[思路+代码]-CSDN博客  题......
  • c语言的基础
    一:数据类型1:整数类型包括整型,长整型。短整型。区别在于,采用不同位数的二进制编码表示,占用不同的存储空间,表示不同的数值范围,32位操作系统类型说明符数的范围字节数int(整型)-2147483648到21474836474unsignedint(无符号整型)0~65535,即0~(2-1)4......
  • 【C语言——浮点数在内存中的存储(补充篇)】
    一.概况     根据国际标准IEEE(电气和电子工程协会)754,任意一个二进制浮点数都可以表示为以下形式:V=(-1)^s*M*2^E1.(-1)^表示符号位,当s=0时,V为正数;当s=1,V为负数。2.M表示有效数字,M是大于等于1,小于2的。3.2^E表示指数。  二.存储过程IEEE754对有效数字M......