1,我们在项目中很多时候用到枚举,那么我们在工程中怎么用到枚举呢,如果传入的参数是整形数据,那么我们要怎么办呢(强制类型转换)
typedef enum
{
failure,
success
}STATE;
int fun(STATE sta)
{
printf("fun = %s,line = %d,sta = %d\n",__FUNCTION__,__LINE__,sta);
switch(sta)
{
case failure:
break;
case success:
break;
}
return 0;
}
int main()
{
int sta = 1;
fun((STATE)sta);//强制类型转换
}
如果枚举状态比较多的时候,我们打印出来的时候是一个数字,这样代码很不具备可读性,那么我们需要怎么处理呢!将宏定义转化为字符串输出可以提高代码的可读性。
#include<stdio.h>
typedef enum
{
MOD_QPSK,
MOD_16COM,
MOD_8COM,
MOD_QPSK_2OTU4,
MOD_16COM_OTUC2,
MOD_32COM
}MODULATE;
char* modulate2string(MODULATE mode)
{