76. 열거형

열거형은 표현할 수 있는 값의 종류를 열거하는 형식이예요.
가령 성별을 관리할 때 int 형식을 사용하여 0은 여성, 1은 남성을 표현하기로 약속할 수 있겠죠.
하지만 다른 개발자가 코드를 이해하기 어려울 수 있어요.
이 때 열거형을 사용하면 가독성(쉽게 읽을 수 있는 성질) 높은 프로그램을 작성할 수 있어요.

◈ 성별을 표현할 수 있는 Gender 열거형 정의

#include <stdio.h>
typedef enum _Gender Gender;
enum _Gender{    FEMALE, MALE};
int main()
{
    Gender g = FEMALE;
    if(g == FEMALE)
    {
         printf("여성\n");
    }
    else
    {
        printf("남성\n");
    }
    return 0;
}

◈ 실행 결과

여성

열거형을 정의할 때 열거하는 이름과 대응하는 값을 지정할 수도 있어요.
만약 값을 지정하지 않으면 앞에 지정한 값에 1 증가한 값으로 지정하죠.
그리고 맨 처음 열거한 이름에 값을 지정하지 않으면 0으로 지정한답니다.

◈ 열거형의 값 지정

#include <stdio.h>
enum _Test
{
    A, B, C=5, D, E=3, F=3, G
};
int main()
{
    printf("A:%d B:%d C:%d D:%d E:%d F:%d G:%d \n",A, B, C, D, E, F,G);
    return 0;
}

◈ 실행 결과

A:0 B:1 C:5 D:6 E:3 F:3 G:4

그리고 하나의 프로그램에 정의할 상수가 많이 있으면 종류에 따라 열거형으로 묶어 정의하면 가독성을 높일 수 있어요.