Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어 열거형(enum) 데이터 타입이란? 개념부터 활용법까지


열거형(enumerated data type)은 프로그래머가 자신만의 데이터 타입을 새로 정의하고, 해당 타입의 변수가 가질 수 있는 값들을 명확하게 지정할 때 사용되는 자료형입니다. 코드의 가독성을 높이고 의미 있는 이름으로 상수를 관리할 수 있어 실무에서 널리 활용됩니다.

열거형을 선언할 때 사용하는 키워드는 enum입니다.

문법(Syntax)

열거형 데이터 타입의 기본 문법은 다음과 같습니다.

enum tagname{
    identifier1, identifier2,…….,identifier n
};

예시

다음은 열거형 데이터 타입의 간단한 예입니다.

enum week{
    mon, tue, wed, thu, fri, sat, sun
};

위 예시에서 확인할 수 있는 핵심 내용은 다음과 같습니다.

  • 식별자(identifier)의 값은 부호 없는 정수(unsigned integer)이며, 기본적으로 0부터 시작합니다.
  • 따라서 mon은 0, tue는 1, wed는 2처럼 선언된 순서대로 값이 자동으로 매겨집니다.

C 프로그램 예제

다음은 열거형 데이터 타입을 활용한 C 프로그램입니다.

#include<stdio.h>
main ( ){
    enum week {mon, tue, wed, thu, fri, sat, sun};
    printf ("Monday = %d", mon);
    printf ("Thursday = %d", thu);
    printf ("Sunday = %d", sun);
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Monday = 0
Thursday =3
Sunday =6

초기값 직접 지정하기

열거형의 식별자에는 원하는 초기값을 직접 할당할 수도 있습니다. 특정 식별자에 값을 지정하면, 이후에 선언된 식별자들은 그 값부터 1씩 증가한 값을 자동으로 갖게 됩니다.

C 프로그램 예제

다음은 초기값을 지정한 열거형 데이터 타입의 또 다른 C 프로그램 예제입니다.

#include<stdio.h>
main ( ){
    enum week {mon=1, tue, wed, thu, fri, sat, sun};
    printf ("Monday = %d", mon);
    printf ("Thursday = %d", thu);
    printf ("Sunday = %d", sun);
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Monday = 1
Thursday =4
Sunday =7

이처럼 열거형(enum)을 활용하면 숫자보다 의미가 분명한 이름으로 상수를 다룰 수 있어, 코드의 가독성과 유지보수성이 크게 향상됩니다. 요일, 월, 상태 코드처럼 정해진 값의 집합을 표현할 때 특히 유용합니다.