#include stdio.h
我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、鹿城ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的鹿城網(wǎng)站制作公司
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語言并沒有枚舉定義函數(shù),只有枚舉這種數(shù)據(jù)類型。
枚舉在C/C++/c#中,是一個被命名的整型常數(shù)的集合,枚舉在日常生活中很常見。
例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,
SATURDAY, 就是一個枚舉。
枚舉的說明與結(jié)構(gòu)和聯(lián)合相似, 其形式為:
enum 枚舉名{
標(biāo)識符[=整型常數(shù)],
標(biāo)識符[=整型常數(shù)],
...
標(biāo)識符[=整型常數(shù)]
} 枚舉變量;
例子:
enum Num
{
x1,
x2=0,
x3=50,
x4
}x;
則x1=0, x2=0, x3=50, x4=51
typedef只是給枚舉類型起個別名,在圖中代碼根本沒用處。
你圖中的代碼,是直接使用了枚舉成員,枚舉成員就是常量,直接使用常量沒問題。
枚舉型是集合,集合中的元素(枚舉成員)是一些命名的整型常量,相當(dāng)于多個#define語句(只不過枚舉成員對應(yīng)的數(shù)值可自增)
這個成員常量不同于結(jié)構(gòu)成員變量名,是唯一的,你可以試試再定義一個枚舉類型比如:
typedef enum
{
Monday=0,
Tuesday
}WeekTypedef2;
這樣會報錯,因?yàn)槟阒岸x的枚舉類型中已經(jīng)有同名成員了。換個名字就可以了,比如:
typedef enum
{
Monday2=0,
Tuesday2
}WeekTypedef2;
如果一個變量只有幾種可能的值,就可以定義為枚舉類型。枚舉 就是將變量的值一一列舉出來,變量的值只限于列舉出來值的范圍。聲名枚舉類型用enum開頭。如enum number{1,2,3};就讓number的值只能是1、2或3,其他是錯誤的。望采納。