프로그래밍 언어/C언어

C언어 열거형(enum)알아보기 입니다.

원원 2017. 9. 12. 22:55


안녕하세요. 오늘은 열거형(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