/ C, PROGRAMMING, DATASTRUCTURE

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;
}

이때 daystag에 해당하며 구조체 및 공용체와 같이 typedef 사용도 가능하다.

typedef enum days { SUN, MON, TUE, WED, THU, FRI, SAT } Days;

Days today;