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

C/C++에서 열거형(Enum)을 사용하는 방법 완벽 정리

열거형(Enum)이란?

열거형(Enumeration)은 C 언어에서 사용자가 직접 정의할 수 있는 데이터 타입입니다. 열거형은 정수 상수에 의미 있는 이름을 부여하여 프로그램의 가독성을 높이고 유지보수를 쉽게 만들어 줍니다. 요일이나 월처럼 서로 연관된 상수들을 하나의 그룹으로 묶어 관리할 때 특히 유용합니다.

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

열거형 선언 문법

다음은 C 언어에서 열거형을 선언하는 기본 문법입니다.

enum enum_name{const1, const2, ....... };

열거형 변수 정의 방법

enum 키워드는 열거형 타입의 변수를 정의할 때도 사용됩니다. 열거형 변수를 정의하는 방법은 크게 두 가지가 있습니다.

첫 번째 방법은 열거형을 먼저 선언한 후, 별도의 문장으로 변수를 정의하는 것입니다.

enum week{sunday, monday, tuesday, wednesday, thursday, friday, saturday};
enum week day;

두 번째 방법은 열거형을 선언하는 동시에 변수를 함께 정의하는 것입니다.

enum week{sunday, monday, tuesday, wednesday, thursday, friday, saturday} day;

C 언어 열거형 예제

다음은 C 언어에서 열거형을 사용하는 예제입니다. 값을 명시적으로 지정하지 않으면 첫 번째 상수는 0부터 시작하고, 이후 상수들은 1씩 증가합니다. 특정 값이 지정되면 그 이후의 상수들은 지정된 값부터 다시 1씩 증가합니다.

예제 코드

#include<stdio.h>
enum week{Mon=10, Tue, Wed, Thur, Fri=10, Sat=16, Sun};
enum day{Mond, Tues, Wedn, Thurs, Frid=18, Satu=11, Sund};
int main() {
    printf("The value of enum week: %d\t%d\t%d\t%d\t%d\t%d\t%d\n\n",Mon , Tue, Wed, Thur, Fri, Sat,     Sun);
    printf("The default value of enum day: %d\t%d\t%d\t%d\t%d\t%d\t%d",Mond , Tues, Wedn, Thurs, Frid,     Satu, Sund);
    return 0;
}

실행 결과

The value of enum week: 10 11 12 13 10 16 17
The default value of enum day: 0 1 2 3 18 11 12

결과 분석

enum week의 경우 Mon이 10으로 지정되었으므로 Tue는 11, Wed는 12, Thur는 13이 됩니다. 이후 Fri가 다시 10으로 지정되었지만 Sat는 16으로 명시되어 있고, Sun은 Sat 다음 값인 17이 됩니다.

enum day의 경우 초깃값이 지정되지 않아 Mond부터 Thurs까지 0, 1, 2, 3이 자동으로 할당됩니다. Frid는 18로 지정되었고, Satu는 11로 명시되어 있으며, Sund는 Satu 다음 값인 12가 됩니다.

이처럼 열거형을 활용하면 숫자 대신 의미 있는 이름을 사용할 수 있어 코드를 훨씬 더 읽기 쉽고 관리하기 편하게 만들 수 있습니다.