c语言枚举类型例题_C语言基础:C语言枚举 - 枚举类型的基本认识

本文介绍了C语言中的枚举类型,以季节为例展示了其定义和使用方法。重点讲解了枚举成员的默认存储方式为整型常量,并通过实例探讨了不同情况下枚举值的变化规律。同时,提到了C语言弱语法允许随意赋值但建议遵循规范。
摘要由CSDN通过智能技术生成

前言

前段时间我们讲完了指针和结构体, 这次我们来讲枚举类型, 什么是枚举呢? 打个比方, 比如我们一个星期有七天, 从周一到周日, 这是固定不变, 不可能无端端的跳出一个星期八出来, 在这种固定的情况下, 我们如果要写一个程序去固定这七天, 并且不让别人乱修改, 为了满足这个需求, 枚举就诞生啦.

开始

首先我们来看看一个需求, 一年固定有四个季节, 需要用枚举去实现, 那么我们要怎么做呢? 来看看下面这个例子吧:

#include

int main()

{

enum Season

{

spring,

summer,

autumn,

winter

};

enum Season s = spring;

enum Season b = 1000; //由于C语言是弱语法, 所以这样子赋值也是可以编译通过的

return 0;

}

上面这个例子就是最简单的枚举类型的定义以及使用,  在调用枚举类型的时候, 就只能用里面的四个枚举类型成员.

PS: 由于C语言是一种弱语法, 没有强硬规定别的值不可以给枚举类型使用, 所以给枚举类型变量随便赋值也是可以的, 但有是优秀的程序员都会严格要求自己去遵循一些书写规范, 希望大家也要严格要求自己.

补充知识:

我们说的枚举, 里面定义的几个枚举成员变量, 他们是怎么存储的? 其实他们是以整型常量类型存储的, 让我们来看看输出的结果如何:

#include

int main()

{

enum Season

{

spring,

summer,

autumn,

winter

};

enum Season s = spring;

printf("spring = %d\n", s);

return 0;

}

输出结果:

那么以此类推

summer 是1

autumn 是2

winter 是3

那如果我们改掉了其中一个值呢? 让我们来看看例子吧:

#include

int main()

{

enum Season

{

spring = 1,

summer,

autumn,

winter

};

enum Season a = spring;

enum Season b = summer;

enum Season c = autumn;

enum Season d = winter;

printf("spring = %d\n", a);

printf("summer = %d\n", b);

printf("autumn = %d\n", c);

printf("winter = %d\n", d);

return 0;

}

输出结果:

那如果我不是从头开始改变, 而是从中间某一个开始改呢?

让我们来继续看看:

#include

int main()

{

enum Season

{

spring = 1,

summer,

autumn = 10,

winter

};

enum Season a = spring;

enum Season b = summer;

enum Season c = autumn;

enum Season d = winter;

printf("spring = %d\n", a);

printf("summer = %d\n", b);

printf("autumn = %d\n", c);

printf("winter = %d\n", d);

return 0;

}

输出的结果:

由此我们可以看出, 默认是从0~3, 如果从头改掉一个, 那么后面就会逐渐的增加, 如果从中间开始改的话, 那么中间的那个值之后的枚举成员就会跟着那个被改值后继续增加.

说的有点拗口, 但大家可以根据上面的例子和图来自行理解, 相信大家都懂的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值