C : enum

m_ngyeong·2024년 11월 20일
0

C

목록 보기
15/16
post-thumbnail

enum이란?

enum은 열거형(enumeration)을 정의하는 C 언어의 키워드이다. 열거형은 관련된 상수 값들을 하나의 그룹으로 묶어 관리할 수 있도록 해준다. 즉, 이름이 있는 정수 상수들의 집합을 정의하는 데 사용된다.

enum의 주요 특징:

  • 열거형 상수는 기본적으로 정수 값(int)을 가지며, 0부터 시작하여 1씩 증가.
  • 각 열거형 멤버는 고유한 이름을 가지며, 이 이름은 프로그램에서 상수로 사용됨.
  • 사용자는 열거형 상수의 값을 직접 지정할 수도 있음.

enum 선언 및 사용 방법

enum 기본 구조

enum EnumName {
    CONSTANT1,   // 첫 번째 상수 (기본값: 0)
    CONSTANT2,   // 두 번째 상수 (기본값: 1)
    CONSTANT3,   // 세 번째 상수 (기본값: 2)
    // ...
};
  • enum EnumName은 열거형의 이름.
  • CONSTANT1, CONSTANT2, CONSTANT3 등은 열거형 멤버이며, 기본적으로 0부터 시작하는 정수 값을 자동으로 할당받음.
    • 첫 번째 상수는 0, 두 번째는 1, 세 번째는 2, ... 이런 식으로 자동 증가.

열거형 값 지정

기본적으로 열거형 상수는 0부터 시작하지만, 값을 직접 지정할 수도 있다.

enum Status {
    OK = 200,
    CREATED = 201,
    ACCEPTED = 202,
    BAD_REQUEST = 400,
    NOT_FOUND = 404
};

예제: 요일 관리

#include <stdio.h>

// 열거형 정의
enum Weekday {
    SUNDAY,    // 0
    MONDAY,    // 1
    TUESDAY,   // 2
    WEDNESDAY, // 3
    THURSDAY,  // 4
    FRIDAY,    // 5
    SATURDAY   // 6
};

int main() {
    // 열거형 변수 선언
    enum Weekday today;

    // 변수에 값 할당
    today = WEDNESDAY;

    // 출력
    printf("Today is the %dth day of the week.\n", today);  // 결과: 3

    return 0;
}

응용 : 열거문과 조건문

#include <stdio.h>

// 열거형 정의
enum TrafficLight {
    RED,
    YELLOW,
    GREEN
};

int main() {
    enum TrafficLight signal = GREEN;

    // switch 문 사용
    switch (signal) {
        case RED:
            printf("Stop!\n");
            break;
        case YELLOW:
            printf("Caution!\n");
            break;
        case GREEN:
            printf("Go!\n");
            break;
        default:
            printf("Invalid signal!\n");
    }

    return 0;
}

enum의 주요 특징

  • enum은 관련된 상수들을 하나의 집합으로 묶어 주는 데이터 타입.
  • 숫자 상수들에 의미를 부여해 가독성과 코드의 유지보수를 높임.
  • 열거형의 각 상수는 기본적으로 0부터 시작하는 정수 값을 가지며, 명시적으로 값을 지정할 수도 있음.
  • switch문과 함께 사용하여 다양한 조건을 처리할 때 유용함.
  • 예시 상황: 요일, 색상, 상태 코드, 교통 신호 등 제한된 정수 값 집합을 관리할 때 사용하면 적합함.
profile
사용자 경험 향상과 지속적인 성장을 추구하는 프론트엔드 개발자 ʚȉɞ

0개의 댓글