美文网首页
C语言学习 - 枚举型数据类型

C语言学习 - 枚举型数据类型

作者: Hyso | 来源:发表于2019-02-21 13:56 被阅读0次
枚举变量的定义
  • 方式一
    Step 1:声明枚举类型:格式:enum 枚举类型名{枚举值1,...,枚举值n}
    如:enum Car_Type{BENZ,BWM,JEEP};
    Step 2:定义枚举变量:格式:enum 枚举类型名 枚举变量1,枚举变量2,...,枚举变量n;
    如:enum Car_Type my_car = BENZ,your_car = BWM;
# include <stdio.h>

int main(void)
{
    enum Car_Type{BENZ,BWM,JEEP};
    enum Car_Type my_car = BENZ,your_car = BWM;

    printf("my_car:%d\n", my_car);
    printf("your_car:%d\n", your_car);
    printf("JEEP:%d\n", JEEP);

    return 0;
}

以上程序输出:

my_car:0
your_car:1
JEEP:2
  • 方式二
    定义枚举变量:格式:enum 枚举类型名{枚举变量1,枚举变量2,...,枚举变量n} 枚举变量列表;
    如:enum Car_Type{BENZ,BWM,JEEP} my_car = BENZ, your_car = BWM;
# include <stdio.h>

int main(void)
{
    enum Car_Type{BENZ,BWM,JEEP} my_car = BENZ, your_car = BWM;

    printf("my_car:%d\n", my_car);
    printf("your_car:%d\n", your_car);
    printf("JEEP:%d\n", JEEP);

    return 0;
}

以上程序输出:

my_car:0
your_car:1
JEEP:2
  • 方式三
    定义枚举变量:格式:enum {枚举变量1,枚举变量2,...,枚举变量n} 枚举变量列表;
    如:enum {BENZ,BWM,JEEP} my_car = BENZ, your_car = BWM;
# include <stdio.h>

int main(void)
{
    enum {BENZ,BWM,JEEP} my_car = BENZ, your_car = BWM;

    printf("my_car:%d\n", my_car);
    printf("your_car:%d\n", your_car);
    printf("JEEP:%d\n", JEEP);

    return 0;
}

以上程序输出:

my_car:0
your_car:1
JEEP:2
枚举类型的注意点

I. 声明枚举类型不分配内存空间
II. 在枚举值表{枚举值1,...,枚举值n}中应列出所有可用值,这些值也称为枚举元素。
III. 枚举类型也属于整型,枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2...。
IV. 在声明枚举类型的同时可以对枚举值赋值(只能赋整型数值或字符型数值,在C语言中,字符型可看做一种特别短的整型,传送门:C语言学习 - 字符型数据类型

# include <stdio.h>

int main(void)
{
    enum Car_Type{BENZ,BWM = 2,JEEP,AUDI = 8,PORSCHE};
    enum Car_Type my_car = BENZ,your_car = BWM;

    printf("my_car:%d\n", my_car);
    printf("your_car:%d\n", your_car);
    printf("JEEP:%d\n", JEEP);
    printf("AUDI:%d\n", AUDI);
    printf("PORSCHE:%d\n", PORSCHE);

    return 0;
}

以上程序输出:

my_car:0
your_car:2
JEEP:3
AUDI:8
PORSCHE:9

注意:若某一枚举值没赋值,而其前面的枚举值赋值了,则按照其前面的枚举值+1后赋值,如:枚举值JEEP没有赋值,但是其前面的枚举值BWM赋值为了2,因此JEEP的值为3;同理枚举值PORSCHE没有赋值,但是其前面的枚举值AUDI赋值为了8,因此PORSCHE的值为9。

相关文章

网友评论

      本文标题:C语言学习 - 枚举型数据类型

      本文链接:https://www.haomeiwen.com/subject/znxryqtx.html