C 프로그래밍/11. 구조체
11.7 열거형
Recircle
2019. 6. 3. 12:03
변수가 가질 수 있는 값들을 미리 열거해 놓은 자료형.
ex)요일을 저장하고 있는 변수는 (일, 월, 화, 수, 목, 금, 토) 중의 하나만 가질수 있다.
열거형이 필요한 이유
-오류을 줄이고 가동성을 높임.
열거형의 정의
1 2 3 4 | enum days { SUN, MON, TUE, WED, THU, FRI, SAT }; | cs |
enum == 열거형을 정의할 때 사용하는 키워드
days == 열거형의 이름(태그)
열거형의 변수
1 2 | enum days today; // 변수 today정의, today는 열거형 days에 저으이된 값만 가짐. today = SUN; |
1 2 | enum days today; today = MY_DAY | cs |
이렇게 하면 오류가 뜬다.
열거형의 초기화
기호 상수들의 값
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | enum days { SUN, MON, TUE, WED, THU, FRI, SAT }; // SUN=0, MON=1 enum days { SUN=1, MON, TUE, WED, THU, FRI, SAT }; // SUN=1, MON=2 enum days { SUN=7, MON, TUE, WED, THU, FRI, SAT }; // SUN=7, MON=1 | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <stdio.h> enum days { SUN, MON, TUE, WED, THU, FRI, SAT }; char *days_name[] = { "sunday","monday","tuesday","wednesday","thursday","friday","saturday" }; int main() { enum days d; d = WED; printf("%d번째 요일은 %s입니다.", d, days_name[d]); return 0; } |
다른 방법들과의 비교