안녕하세요. 오늘은 열거형(enum)을 알아볼건데요, 열거형이란 변수를 나열해서 사용한다는건데 사용하는 이유는 편리함과 속도향상입니다.
정의하는 방법은 구조체 혹은 공용체와 비슷합니다.
선언방법
enum 변수명{멤버 목록};
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> enum week { SUN, MON, TUE, WED, THU, FRI, SAT }; int main(void) { printf("SUN ? : %d \n", SUN); printf("MON ? : %d \n", MON); printf("TUE ? : %d \n", TUE); printf("WED ? : %d \n", WED); printf("THU ? : %d \n", THU); printf("FRI ? : %d \n", FRI); printf("SAT ? : %d \n", SAT); return 0; } | cs |
이런식으로 0부터 시작하게 됩니다. 또한 사용자가 정할 수도 있습니다.
1 2 3 4 | enum week { SUN, MON, TUE=10, WED, THU, FRI=10, SAT }; | cs |
위와 같이 값을 부여한다면
부여한 값 다음에는 +1이 되는 것을 확인할 수 있습니다.
enum을 사용하여 변수를 만들고 멤버변수에서 특정 멤버변수로 지정할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <stdio.h> enum week { SUN, MON, TUE, WED, THU, FRI, SAT }; int main(void) { enum week what = TUE; printf("what의 값 ? : %d \n", TUE); return 0; } | cs |
what이라는 변수를 만들고 멤버변수 TUE로 선언했습니다.
또한 typedef를 사용 할 수도 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <stdio.h> typedef enum week { SUN, MON, TUE, WED, THU, FRI, SAT }WEEK; int main(void) { WEEK what = TUE; printf("what의 값 ? : %d \n", what); return 0; } | cs |
'프로그래밍 언어 > C언어' 카테고리의 다른 글
C언어 포인터 알아보기 입니다. (0) | 2017.10.26 |
---|---|
C언어 공용체(union)에 대해 알아보기입니다. (0) | 2017.09.13 |
C언어 #define, #if , #ifdef , #ifndef란 (0) | 2017.09.11 |
매개변수(Parameter,파라미터),전달인자(Argument,아규먼트)란? (2) | 2017.09.01 |
C언어 구조체 자료형의 크기(패딩비트) (0) | 2017.08.17 |