Programming/C

열거형 enum

TaeSun1114 2012. 7. 9. 19:40

enum 열거형은 자주 사용되지는 않지만 알아두면 편리하다.


예를들어 알파벳을 이용할떄 


char buf[]="abcdef......z";

라고 선언을 하면 buf[0]=a~e까지는 쉽게알 수 있으나 q나 y같은건 몇번째 일까?

이럴때 


enum {a,b,c,d,e,f,.....,z}; 와 같이 사용하면,굳이 인덱스번호를 알지않아도, 바로 사용할수 있다.


ex)


int main(){


enum {a,b,c,d,e,f,....z};

char ch="a";


if(ch==a)  혹은 if(ch==0)이런식으로 사용해도 되는 것이다.


컴퓨터가 보기엔 별거 아니지만 소스코드를 짜는 사람입장으로서는 엄청나게 가독성이 상승하게 된다.


enum 사용 예제


#include <stdio.h>

enum week {sun, mon, tue, wed, thu, fri, sat};

int main(void)

{

    enum week day1;

    day1=fri;

    printf("day1 : %d\n", day1);

    printf("fri : %d\n", fri);

    day1=mon;

    printf("day1 : %d\n", day1);

    printf("mon : %d\n", mon);

    return 0;

}