사용자 자료형 enum
Programming/C 2013. 2. 15. 01:21 |#include<stdio.h>
enum color {RED, GREEN=2, BLUE}; //enumeration(열거, 목록) 사용자자료형 정의
//red, green, blue는 상수이다.
typedef enum color color; //이것들은 디폴트가 앞에서부터 0,1,2로 시작한다.
//만약 green이 2라면 red는 0, green은 2, blue는 3이된다.
main()
{
color c1, c2, c3;
c1 = RED, c2 = GREEN, c3 = BLUE;
printf("RED=%d, GREEN=%d, BLUE=%d\n", c1, c2,c3);
printf("RED=%d, GREEN=%d, BLUE=%d\n", RED, GREEN, BLUE);
return 0;
}
열거형의 정의는 두 가지 의미를 지닌다.
1. color라는 이름의 자료형(열거형)정의.
2. 상수의 선언.
----------------------------------------------------------------------------------------------------------------
#include<stdio.h>
typedef enum days {MON,TUE,WED,THU,FRI,SAT,SUN} days;
main()
{
days day; //열거형 days의 변수 day를 생성.
printf("Input a day(0:Monday ~ 6:Sunday) : ");
scanf("%d", &day);
switch(day)
{
case MON: //case 0: 이랑 똑같은 의미.
printf("월요일입니다.\n");
break;
case TUE:
printf("화요일입니다.\n");
break;
case WED:
printf("수요일입니다.\n");
break;
case THU:
printf("목요일입니다.\n");
break;
case FRI:
printf("금요일입니다.\n");
break;
case SAT:
printf("토요일입니다.\n");
break;
case SUN:
printf("일요일입니다.\n");
break;
}
return 0;
}
열거형을 사용하는 이유
1. 열거형을 사용함으로써 변수가 지니는 값에 의미를 부여할 수 있다.
2. 프로그램의 가독성이 높아진다. (가독성: 전체코드 쉽게 분석, 코드의 일부분만을 보고서도 의미 파악)
열거형은 switch문하고 비번하게 사용되어진다.
'Programming > C' 카테고리의 다른 글
fprintf, fscanf함수를 이용한 구구단 프로그램 (0) | 2013.02.15 |
---|---|
파일 입력, 출력 ( fopen, fclose ) (0) | 2013.02.15 |
공용체 union (0) | 2013.02.15 |
문자열을 비교하는 strcmp 그리고 strncmp 함수 (0) | 2013.02.15 |
문자열을 추가하는 strcat과 strncat 함수 (0) | 2013.02.15 |