【C语言进阶:自定义类型详解】枚举

这篇具有很好参考价值的文章主要介绍了【C语言进阶:自定义类型详解】枚举。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本节重点内容:

  • 枚举类型的定义
  • 枚举的优点
  • 枚举的使用

⚡枚举类型的定义

枚举:将可能的取值一一列举。比如:一周的天数、性别、一年的月份等等可以使用枚举来将其可能出现情况列举出来。

枚举类型的基本使用:

enum Sex//性别
{
    //枚举的可能取值,默认是从0开始,递增1
    //列举出来的情况本质上是数字
    //
    MALE,
    FEMALE,
    SECRET
};

int main()
{ 
    printf("%d\n", MALE);
    printf("%d\n", FEMALE);
    printf("%d\n", SECRET);
    return 0;
}

运行结果如下:

【C语言进阶:自定义类型详解】枚举

 当然,我们也可以将这些枚举常量在定义时附上初始值,操作如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

enum Sex//性别
{
    //枚举的可能取值,默认是从0开始,递增1
    //列举出来的情况本质上是数字
    //枚举常量
    MALE = 5,
    FEMALE,
    SECRET
};

int main()
{ 
    printf("%d\n", MALE);
    printf("%d\n", FEMALE);
    printf("%d\n", SECRET);
    return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

enum Sex//性别
{
    //枚举的可能取值,默认是从0开始,递增1
    //列举出来的情况本质上是数字
    //枚举常量
    MALE,
    FEMALE = 5,
    SECRET
};

int main()
{ 
    printf("%d\n", MALE);
    printf("%d\n", FEMALE);
    printf("%d\n", SECRET);
    return 0;
}

运行结果如下:

【C语言进阶:自定义类型详解】枚举

【C语言进阶:自定义类型详解】枚举


⚡枚举的优点

枚举的优点:

  • 增加代码的可读性和可维护性。比如:写小游戏的菜单
  • 和#define定义的标识符比较枚举有类型检查,更加严谨。比如:#define定义的标识符常量是没有类型的。而使用枚举定义,其定义的常量是枚举类型,也是一种类型。
  • 防止了命名污染(封装)。
  • 便于调试。比如:创建枚举变量后调试可以在监视窗口看到枚举常量的值。
  • 使用方便,一次可以定义多个常量。

⚡枚举的使用

只能拿枚举常量给枚举变量赋值,才不会出现类型的差异。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

enum Sex//性别
{
    //枚举的可能取值,默认是从0开始,递增1
    //列举出来的情况本质上是数字
    //
    MALE,
    FEMALE,
    SECRET
};

int main()
{ 
    enum Sex s = MALE;
    return 0;
}

感谢大家能够看完这篇博客,创作时长,小伙伴们觉得我的博客对你有帮助,不妨留下你的点赞的收藏,关注我,带你了解不一样的C语言。

【C语言进阶:自定义类型详解】枚举文章来源地址https://www.toymoban.com/news/detail-401855.html

到了这里,关于【C语言进阶:自定义类型详解】枚举的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言进阶】自定义类型之结构体,枚举和联合

    人一能之,己百之;人十能之,己千之。                             ——《中庸》   目录 一.结构体 1.结构的基础知识 2.结构体的声明 3.结构体成员的类型 4.结构体变量的定义和初始化: 5.结构体成员的访问: 6.结构体传参  7.结构体内存对齐:结构体的大小 8.为什么要

    2023年04月23日
    浏览(43)
  • 【C语言】——自定义类型详解:结构体,枚举,联合

    大家好,今天为大家分享一下C语言中的那些自定义类型:结构体,枚举,联合,还有之前可能不曾了解的结构体内存对齐、位段等知识点!!! 一、结构体 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 结构的声明 : 例如描述一个学生

    2024年02月07日
    浏览(50)
  • 详解C语言自定义类型(结构体,枚举,联合)

    ❤️ 作者简介 :RO-BERRY 致力于C、C++、数据结构、TCP/IP、数据库等等一系列知识,对纯音乐有独特的喜爱 📗 日后方向 : 偏向于CPP开发以及大数据方向,如果你也感兴趣的话欢迎关注博主,期待更新 🎄结构体是一些值的集合,这些值称为成员变量。结构的每个成员可以是不

    2024年02月16日
    浏览(39)
  • C语言——自定义类型详解[结构体][枚举][联合体]

    我打算把结构体、枚举、联合体的重点内容总结一下,方便后期复习的时候能够更快,更准确的去拾取遗忘的知识。也希望能给大家起到借鉴的作用,不足的地方,请多多包涵。(不足的地方,也希望大家能够指出来) 结构体是一些值的集合,这些集合称为成员变量,结构体

    2024年02月13日
    浏览(41)
  • C语言进阶,第4节-自定义类型详解(结构体

    1. 结构的声明 //描述一个学生 //匿名结构体类型 编译器会把上面两种声明当做完全不同的两个类型 2. 结构体自引用 //正确的自引用方式: 注意: 3. 结构体变量定义和初始化 //定义 //初始化 4. 结构体内存对齐 //结构体对齐规则 : //例 1 //例 2 //为什么存在内存对齐?( 结构体

    2024年02月16日
    浏览(39)
  • 【再识C进阶4】详细介绍自定义类型——结构体、枚举和联合

           在上一篇博客中,我们已经详细地学习了字符分类函数、字符转换函数和内存函数。那这一篇博客和上一篇博客的关系不是那么相连。        这一篇博客主要介绍一下 自定义类型 ,因为在解决实际问题时, 由于世界上的因素有很多,我们需要建立不同的数据

    2024年02月08日
    浏览(50)
  • c语言->自定义类型联合体和枚举类型

    文章目录 ✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青_C语言,函数,指针-CSDN博客 目的:学习联合体和枚举类型的声明联合体的特点和大小,枚举类型的有点和使用。 像结构体⼀样,联合体也是由⼀个或者多个成员构

    2024年02月05日
    浏览(35)
  • C语言:自定义类型——联合和枚举

    像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以是不同的类型。 声明方式如下图: 那联合体和结构体究竟有什么区别呢?? 下面将重点讲解联合体的特点!! 1.2.1 特点1 所有成员共⽤同⼀块内存空间。所以联合体也叫: 共⽤体 。 我们可以发现,三个地

    2024年01月16日
    浏览(59)
  • 【C语言】自定义类型:结构体、枚举、联合

    目录 前言: 一、结构体 (1)结构体的特殊声明 (2)结构体的自引用 (3)结构体嵌套初始化 (4)结构体内存对齐 (5)修改默认对齐数 (6)结构体传参 (7)位段 二、枚举 (1)枚举的定义 (2)枚举的优点 (3)枚举的使用 三、联合(共用体) (1)联合类型的定义 (

    2024年02月16日
    浏览(45)
  • C语言—自定义类型(结构体、枚举、联合)

    结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 实例一(描述一本书): 在声明结构的时候,可以不完全的声明。 实例一: 注:匿名结构体类型创建好之后只能用一次(没有标签构不成结构体类型) 实例一: 注:在结构中包含一个类型

    2024年02月06日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包