0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言必备知识枚举体

CHANBAEK 来源:小李的创客实验室 作者: 初出茅庐的小李 2023-11-29 16:07 次阅读

C语言必备知识枚举体

枚举类型是ANSI C新标准所增加的。如果一个变量只有几种可能的值,可以定义为枚举类型。所谓“枚举是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。

枚举的定义形式

enum  枚举类型名 
{
	枚举元素列表
}枚举变量列表;

可以先声明类型再定义变量,也可以同时进行

举例

//先声明类型再定义变量
enum weekday
{
	sun,
	mon,
	tue,
	wed,
	thu,
	fri,
	sat
};

enum weekday  workday,week_end;

//声明类型同时定义变量
enum
{
	sun,
	mon,
	tue,
	wed,
	thu,
	fri,
	sat
} workday,week_end;

枚举的使用

#include < stdio.h > //printf scanf fputc


enum weekday
{
	sun,//默认是0开始 后面依次递增 
	mon,
	tue,
	wed,
	thu,
	fri,
	sat
};
enum weekday workday;
int main(void)
{
    workday = mon;
    printf("workday = %drn",workday);
 	return0;
}

枚举注意事项

  • 在编译中,对枚举元素按常量处理,它们不是变量,不能对它们赋值。
  • 枚举元素作为常量,它们是有值的,语言编译按定义时的顺序使它们的值为0,1,2,…。
  • 枚举值可以用来做判断比较。如: if(workday = = mon)… if(workday > sun)…
  • 一个整数不能直接赋给一个枚举变量。应先进行强制类型转换才能赋值。如:workday = (enum ewwkday)2;

单片机中使用枚举的例子

描述GPIO工作模式的枚举

/** 
  * @brief  GPIO Configuration Mode enumeration 
  */
typedefenum
{ 
  GPIO_Mode_IN   = 0x00, /*!< GPIO Input Mode */
  GPIO_Mode_OUT  = 0x01, /*!< GPIO Output Mode */
  GPIO_Mode_AF   = 0x02, /*!< GPIO Alternate function Mode */
  GPIO_Mode_AN   = 0x03/*!< GPIO Analog Mode */
}GPIOMode_TypeDef;

描述GPIO工作速度的枚举

/** 
  * @brief  GPIO Output Maximum frequency enumeration 
  */
typedefenum
{ 
  GPIO_Low_Speed     = 0x00, /*!< Low speed    */
  GPIO_Medium_Speed  = 0x01, /*!< Medium speed */
  GPIO_Fast_Speed    = 0x02, /*!< Fast speed   */
  GPIO_High_Speed    = 0x03/*!< High speed   */
}GPIOSpeed_TypeDef;

至此,枚举的简单介绍就到这了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620847
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128733
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66772
  • GPIO
    +关注

    关注

    16

    文章

    1133

    浏览量

    50573
  • 枚举
    +关注

    关注

    0

    文章

    16

    浏览量

    4521
收藏 人收藏

    评论

    相关推荐

    C语言枚举的基本概念和常见用法

    在C语言中,枚举是一种方便组织和表示一组相关常量的工具。枚举类型有助于提高代码的可读性和可维护性。本文将介绍C语言枚举的基本概念、语法和用法
    发表于 08-17 15:32 773次阅读

    经典中的经典!《C51单片机及C语言知识必备秘籍》

    C51单片机及C语言知识必备秘籍》 电子发烧友网讯:应广大电子发烧友网读者要求,本电子书《C
    发表于 07-30 16:06

    C51单片机及C语言知识必备秘籍

    C51单片机及C语言知识必备秘籍
    发表于 09-28 23:18

    发个比较基础的学习文件---C51单片机及C语言知识必备秘籍

    比较基础的学习文件---C51单片机及C语言知识必备秘籍,适合新手哦,{:soso_e100:}
    发表于 11-29 12:51

    C51单片机及C语言知识必备秘籍

    C51单片机及C语言知识必备秘籍
    发表于 12-20 22:50

    c51单片机必备c语言知识

    c51单片机必备c语言知识
    发表于 01-05 22:51

    C语言经典必备资料

    C语言经典必备资料!分享给大家 需要哪些就下载就可以了!
    发表于 12-27 09:57

    C51单片机及C语言知识必备秘籍》电子发烧友网创新系...

    本帖最后由 jfzhangjin 于 2014-10-31 14:35 编辑 电子发烧友网讯:应广大电子发烧友网读者要求,本电子书《C51单片机及C语言知识
    发表于 10-31 14:32

    详细讲解c语言enum枚举类型

    详细讲解C语言enum枚举类型在实际应用中,有的变量只有几种可能取值。如人的性别只有两种可能取值,星期只有七种可能取值。在 C 语言中对这样
    发表于 12-21 23:22

    C语言基础知识(一)

    、嵌入式系统和科学计算等领域。作为一名程序员,了解C语言的基础知识是非常重要的。本文将详细介绍C语言的基础概念,包括数据类型、变量、运算符、
    发表于 08-07 16:51

    C语言基础知识(一)

    、嵌入式系统和科学计算等领域。作为一名程序员,了解C语言的基础知识是非常重要的。本文将详细介绍C语言的基础概念,包括数据类型、变量、运算符、
    发表于 08-10 15:16

    go语言枚举类型怎么用

    go 语言枚举类型是这么用的?在什么场景下会用到枚举?本文对 go 语言枚举做了详细讲解。 枚举
    的头像 发表于 09-02 09:43 4882次阅读

    C语言枚举简述

    在C语言中,如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓“枚举”就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。
    的头像 发表于 03-24 15:15 565次阅读

    C语言编程必备知识合集

    电子发烧友网站提供《C语言编程必备知识合集.zip》资料免费下载
    发表于 11-21 09:34 0次下载
    C<b class='flag-5'>语言</b>编程<b class='flag-5'>必备</b><b class='flag-5'>知识</b>合集

    枚举有多大?c语言枚举end的作用是什么?

    枚举有多大?c语言枚举end的作用是什么? 枚举在C语言中是一种常见的数据类型,用于定义一组相互关联的常量或者变量。它通常用于表示一系列可能
    的头像 发表于 01-19 14:19 205次阅读