enum은 열거형(enumeration)을 정의하는 C 언어의 키워드이다. 열거형은 관련된 상수 값들을 하나의 그룹으로 묶어 관리할 수 있도록 해준다. 즉, 이름이 있는 정수 상수들의 집합을 정의하는 데 사용된다.
int
)을 가지며, 0부터 시작하여 1씩 증가.enum EnumName {
CONSTANT1, // 첫 번째 상수 (기본값: 0)
CONSTANT2, // 두 번째 상수 (기본값: 1)
CONSTANT3, // 세 번째 상수 (기본값: 2)
// ...
};
enum EnumName
은 열거형의 이름.CONSTANT1
, CONSTANT2
, CONSTANT3
등은 열거형 멤버이며, 기본적으로 0부터 시작하는 정수 값을 자동으로 할당받음.기본적으로 열거형 상수는 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
은 관련된 상수들을 하나의 집합으로 묶어 주는 데이터 타입.switch
문과 함께 사용하여 다양한 조건을 처리할 때 유용함.