열거형
명명된 상수의 집합
- 열거자 이름들은 일반적으로 해당 언어의 상수 역할을 하는 식별자이다.
- 자주 사용하는 변수를 상수 처리할 때 유용하게 사용된다. ▶ 색을 칠하는 프로그램에서 "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에 대응하여 아래와 같은 결과가 나타났다.