enumeration data type(열거 데이터 유형)
enum은 아래와 같은 데이터 유형을 사용한다.
enum 열거형 이름 {원소1=1, 원소2, 원소3, 원소4, ····, 원소n} 변수1, ···, 변수n;
다음 예제는 enum을 사용하여 switch case를 구현한 예제 코드 이다.
웹컴파일러 : https://www.onlinegdb.com/
(예제코드)
#include <stdio.h>
enum xSTAGE_Filter_t {Step1_Standby=1, Step2_Calcuration, Step3_Run, Step4_Reset} xStage_Filter;
int nCount = 0;
int main()
{
xStage_Filter = Step1_Standby;
while(1)
{
nCount++;
switch(xStage_Filter)
{
case Step1_Standby:
printf("Stage = %d[%d]\n", xStage_Filter,nCount);
xStage_Filter = Step2_Calcuration;
break;
case Step2_Calcuration:
printf("Stage = %d[%d]\n", xStage_Filter,nCount);
xStage_Filter = Step3_Run;
break;
case Step3_Run:
printf("Stage = %d[%d]\n", xStage_Filter,nCount);
xStage_Filter = Step4_Reset;
break;
case Step4_Reset:
printf("Stage = %d[%d]\n", xStage_Filter,nCount);
xStage_Filter = Step1_Standby;
break;
}
}
}
(실행결과)
Stage = 1 [1]
Stage = 2 [2]
Stage = 3 [3]
Stage = 4 [4]
Stage = 1 [5]
Stage = 2 [6]
Stage = 3 [7]
Stage = 4 [8]
Stage = 1 [9]
....
....