언어 자료구조 알고리즘/디딤돌 C언어

[C언어] 76. 열거형

언제나휴일 2016. 4. 17. 16:24
반응형



열거형


열거형은 표현할 있는 값의 종류를 열거하는 형식이예요.
가령 성별을 관리할 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
 
그리고 하나의 프로그램에 정의할 상수가 많이 있으면 종류에 따라 열거형으로 묶어 정의하면 가독성을 높일 있어요.

반응형