열거형
명명된 상수의 집합
- 열거자 이름들은 일반적으로 해당 언어의 상수 역할을 하는 식별자이다.
- 자주 사용하는 변수를 상수 처리할 때 유용하게 사용된다. ▶ 색을 칠하는 프로그램에서 "red"를 0, "yellow"를 1, "green"을 2과 같이 대응하여 사용
열거형 생성하기
열거형 정의
enum 열거형이름 { 변수명1, 변수명2, 변수명3, ... };
enum { 변수명1, 변수명2, 변수명3, ... }; // 열거형 이름 생략 가능
- 변수명1, 2, 3은 차례대로 정수값 0, 1, 2에 매칭된다.
- 열거한 변수명은 컴파일러에 의해서 매칭된 정수값으로 변환된다.
enum { 변수명1 = 3, 변수명2, 변수명3, ... };
- 위와 같이 정의하면 0이 아닌 3부터 값이 매칭된다.
- 변수명1 = 3, 변수명2 = 4, 변수명3 = 5
enum { 변수명1 = 3, 변수명2, 변수명3 = 3, 변수명4, ... };
- 위와 같이 정의하면 변수명3부터 다시 3에서 값이 매칭된다.
- 변수명1 = 3, 변수명2 = 4, 변수명3 = 3, 변수명4 = 4
열거형 예제
#include <iostream>
using namespace std;
enum { RED, BLUE, WHITE, BLACK };
int main() {
int palette = WHITE;
switch (palette) {
case RED:
cout << "palette : RED" << endl;
break;
case BLUE:
cout << "palette : BLUE" << endl;
break;
case 2:
cout << "palette : WHITE" << endl;
break;
case 3:
cout << "palette : BLACK" << endl;
break;
}
return 0;
}
palette : WHITE
- Switch 문에서 WHITE가 정수 2에 대응하여 아래와 같은 결과가 나타났다.