C语言enum(枚举)数据类型

本文深入探讨了枚举类型及其在C语言中的应用,通过实例展示了如何使用枚举和switch-case语句来简化代码逻辑,提高程序的可读性和安全性。重点介绍了枚举类型的作用、特点以及在实际编程中的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
//enum Weekday只是一个数据类型,
//规定了该类型的变量值必须是哪些
enum Weekday
{
    Monday, Tuesday, Wednesday, 
    Thursday, Friday, Staturday, 
    Sunday
};
void f(enum Weekday i)
{
    //enum Weekday类型的i
    //在程序运行期间会转换成
    //其所在位置的序号,这个
    //序号从0开始,比如Monday对应0
    //Friday传递给i后在,程序内部会看作4
    //但是程序给enum Weekday i传递值
    //或者说赋值只能是枚举中的一周7天中的一个
    //不能是其他值
    switch(i)
    {
        case 0:
            printf("Monday!\n");
            break;
        case 1:
            printf("Tuesday!\n");
            break;
        case 2:
            printf("Wednesday!\n");
            break;
        case 3:
            printf("Thursday!\n");
            break;
        case 4:
            printf("Friday!\n");
            break;
        case 5:
            printf("Staturday!\n");
            break;
        case 6:
            printf("Sunday!\n");
            break;
    }
}
int main(void)
{
    f(Friday);
    return 0;
}

枚举就是把事物所有的可能一一列举出来,枚举变量的值只能是枚举类型中规定的某一种,枚举变量运行期间会转换成对应位置的下标值,该下标值从0开始。
个人感觉枚举只是为了从程序编写的安全角度去考虑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值