c语言如何宏定义枚举型结构体,C语言学习笔记--枚举&结构体

枚举

枚举是一种用户定义的数据类型,它用关键字enum以如下语法格式来声明:

enum 枚举类型名字 {名字0,名字1,。。。,名字n};

枚举类型名字通常并不真的使用,要用的是大括号里面的名字,因为它们就是常量符号,它们的类型是int,值则依次从0到n。

如:enum color{red,yellow,green};

就创建了3个常量,red的值是0,yellow的值是1,green的值是2。

当需要一些可以排列起来的常量值时,定义枚举的意思就是给这些常量值名称。

枚举量可以作为值;

枚举类型可以加上enum作为类型;但实际是以整数来计算和输入输出的。

#include

enum color{ red, yellow, green,Numcolors};//此处Numcolors为小套路,数值刚好等于定义的枚举量,可以定义数组,遍历数组等使用。

void f(enum color c);//此处enum必须带上

int main(void)

{

enum color t = red;//枚举类型可以加上enum作为类型

scanf("%d",&t);

f(t);

return ;

}

void f(enum color c)

{

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

}

枚举量

声明枚举量的时候可以指定值,如

enum COLOR {RED = , YELLOW,GREEN = };//RED = 1是从1开始的,不是从0

//YELLOW =2

//GREEN = 5

枚举只是int,即使给枚举类型的变量赋不存在的值,也没有任何warning和error。

虽然枚举类型可以当做类型用,但是很

你可能感兴趣的:(c语言如何宏定义枚举型结构体)