C语言枚举enum与数组的应用

本文介绍了如何在C++中使用枚举配合数组,通过枚举类型最后一个值定义数组大小,以实现动态添加或删除数组成员。以水果店库存为例,展示了如何在原有数组中插入新水果种类GRAPE的过程。

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

枚举配合数组使用,我们在定义数组的时候,直接用该枚举类型的最后一个值作为数组大小。
下次要增加或者减少数组成员的时候就不用去改数组大小了,非常方便。
通过简单例子来体现一下:例如,对于一个水果店,有水果种类和每种水果的数量,用数组来定义,数组长度表示水果的种类,数组成员来表示每种水果的个数,水果种类用枚举定义:

enum {APPLE,ORANGE,BANANA,LEMON,TYPES};//苹果、橙子、香蕉、柠檬

int main(int argc, char *argv[])
{
    unsigned char fruit[TYPES];
    unsigned char i;

    char name[64];
    
    //摆货
    fruit[APPLE]  = 11;
    fruit[ORANGE] = 12;
    fruit[BANANA] = 13;
    fruit[LEMON]  = 14;

    for(i=0;i<TYPES;i++)
    {
        sprintf_s(name,sizeof(name),"这是第%d类水果,库存%d个\n",i+1,fruit[i]);
        printf("%s",name);
    }

    return 0;
}

打印结果如下图:
在这里插入图片描述
现在,我们需要上架一种水果如葡萄(GRAPE),则只需在种类TYPES前面插入加入的水果名称GRAPE,

enum {APPLE,ORANGE,BANANA,LEMON,GRAPE,TYPES};//苹果、橙子、香蕉、柠檬、葡萄
int main(int argc, char *argv[])
{
    unsigned char fruit[TYPES];
    unsigned char i;

    char name[64];

    //摆货
    fruit[APPLE]  = 11;
    fruit[ORANGE] = 12;
    fruit[BANANA] = 13;
    fruit[LEMON]  = 14;

    fruit[GRAPE]  = 15;//进货15个葡萄

    for(i=0;i<TYPES;i++)
    {
        sprintf_s(name,sizeof(name),"这是第%d类水果,库存%d个\n",i+1,fruit[i]);
        printf("%s",name);
    }

    return 0;
}

打印结果如图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值