#include stdio.h
我们提供的服务有:成都网站制作、成都网站设计、微信公众号开发、网站优化、网站认证、鹿城ssl等。为近1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的鹿城网站制作公司
enum ENUMTEST
{
A,B,C
};
enum ENUMTEST aaa(int i)//注意要加原型。类似于你定义int ,float之类的
{
if(i==0) return A;
if(i==1) return B;
if(i==2) return C;
}
int main()
{
printf("%d",aaa(1));
}
可以
#include "stdafx.h"
#include stdio.h
enum Enum_Struct
{
ENUM_NUM0,
ENUM_NUM1,
ENUM_NUM2,
ENUM_NUM3,
ENUM_NUM4
};
void Func(Enum_Struct *err)
{
if((*err) == ENUM_NUM3)
{
printf("%d\n",ENUM_NUM3);
};
}
void main()
{
Enum_Struct obj = ENUM_NUM3;
Func(obj);
}
C语言并没有枚举定义函数,只有枚举这种数据类型。
枚举在C/C++/c#中,是一个被命名的整型常数的集合,枚举在日常生活中很常见。
例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,
SATURDAY, 就是一个枚举。
枚举的说明与结构和联合相似, 其形式为:
enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数]
} 枚举变量;
例子:
enum Num
{
x1,
x2=0,
x3=50,
x4
}x;
则x1=0, x2=0, x3=50, x4=51
typedef只是给枚举类型起个别名,在图中代码根本没用处。
你图中的代码,是直接使用了枚举成员,枚举成员就是常量,直接使用常量没问题。
枚举型是集合,集合中的元素(枚举成员)是一些命名的整型常量,相当于多个#define语句(只不过枚举成员对应的数值可自增)
这个成员常量不同于结构成员变量名,是唯一的,你可以试试再定义一个枚举类型比如:
typedef enum
{
Monday=0,
Tuesday
}WeekTypedef2;
这样会报错,因为你之前定义的枚举类型中已经有同名成员了。换个名字就可以了,比如:
typedef enum
{
Monday2=0,
Tuesday2
}WeekTypedef2;
如果一个变量只有几种可能的值,就可以定义为枚举类型。枚举 就是将变量的值一一列举出来,变量的值只限于列举出来值的范围。声名枚举类型用enum开头。如enum number{1,2,3};就让number的值只能是1、2或3,其他是错误的。望采纳。