枚举和共用体

枚举和共用体

枚举类型

枚举的作用是为了更方便和更好看的看到数据

enum 标识名

{枚举项}

例如:

enum weekday

{mon,tues,wed,thur,fri,sat,sun};//mon如果不赋值,自动对应着0,依次往后增加
enum weekday day;
day=mon;//等价于int day;
//day=0;

例如制作一个模拟星期工作计划表

#include <stdio.h>
int main()
{
    int a;
    ...
    switch(a)
    {
        case 1:
        case 2:
        ...
        case n:
    }
}

1,2,3…n无法看出对应着是什么,对于理解来说比较困难,所以可以通过两种方法,更直观的看出是什么

1.宏定义

#include <stdio.h>
#define monday 1;
#define tuesday 2;
....
#define sunday 7;
int main()
{
    int a;
    ...
    switch(a)
    {
        case monday:
        case tuesday:
            ...
        case sunday:
    }
}

但是定义常量过于麻烦,且繁琐,更好的方法就是利用枚举

#include <stdio.h>
enum weekday
{mon=1,tues,wed,thur,fri,sat,sun};
int main()
{
    int a;
    ...
    switch(a)
    {
        case mon:
        case tues:
            ...
        case sun:
    }
}

是不是更加的直观和简单呢,而且mon可以赋值为10,此时后面的tues等继续依次加1,可以实现值的改变,但都是连续的(其实没什么用,单纯好看方便)

enum weekday
{mon=1,tues,wed,thur=10,fri,sat,sun};

如果thur=10,则tues,wed,继续向上次mon=1之后依次加1,然后从thur=10后,再依次加1,则fri为11

代码很复杂很大的时候才使用枚举,使编程更加方便和简单

共用体

union peopele{

成员

};

形式上和结构体一模一样

但是有区别,和结构体的区别是,结构体是每个成员分别拥有自己的存储空间,而共用体是每个成员共用一个存储空间,经常通过结构体中嵌套共同体来执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值