C언어: 열거형 (Enumeration)
enum days { SUN, MON, TUE, WED, THU, FRI, SAT }; // SUN=0, MON=1, ...
enum days { SUN=1, MON, TUE, WED, THU, FRI, SAT };
-> 새 타입으로 정의된다
그러나, 실제로는 일반적인 정수와 다르지 않으므로 int
형 변수에 할당 등이 가능하다.
int main(void) {
enum days today;
int a;
today = WED;
printf("%d", today); // 3
a = today; // 가능
return 0;
}
이때 days
는 tag에 해당하며
구조체 및 공용체와 같이 typedef
사용도 가능하다.
typedef enum days { SUN, MON, TUE, WED, THU, FRI, SAT } Days;
Days today;