열거형은 표현할 수 있는 값의 종류를 열거하는 형식이예요.
가령 성별을 관리할 때 int 형식을 사용하여 0은 여성, 1은 남성을 표현하기로 약속할 수 있겠죠.
하지만 다른 개발자가 코드를 이해하기 어려울 수 있어요.
이 때 열거형을 사용하면 가독성(쉽게 읽을 수 있는 성질) 높은 프로그램을 작성할 수 있어요.
◈ 성별을 표현할 수 있는 Gender 열거형 정의
#include <stdio.h>
typedef enum _Gender
Gender;
enum
_Gender{ FEMALE, MALE};
int main()
{
Gender g = FEMALE;
if(g == FEMALE)
{
printf("여성\n");
}
else
{
printf("남성\n");
}
return 0;
}
◈ 실행 결과
여성
열거형을 정의할 때 열거하는 이름과 대응하는 값을 지정할 수도 있어요.
만약 값을 지정하지 않으면 앞에 지정한 값에 1 증가한 값으로 지정하죠.
그리고 맨 처음 열거한 이름에 값을 지정하지 않으면 0으로 지정한답니다.
◈ 열거형의 값 지정
#include <stdio.h>
enum _Test
{
A, B, C=5, D, E=3, F=3, G
};
int main()
{
printf("A:%d B:%d C:%d D:%d E:%d F:%d G:%d \n",A, B, C, D, E, F,G);
return 0;
}
◈ 실행 결과
A:0 B:1 C:5 D:6 E:3 F:3 G:4
그리고 하나의 프로그램에 정의할 상수가 많이 있으면 종류에 따라 열거형으로 묶어 정의하면 가독성을 높일 수 있어요.
'언어 자료구조 알고리즘 > 디딤돌 C언어' 카테고리의 다른 글
[C언어] 81. 사용자 정의 형식 정리하기 (0) | 2016.04.17 |
---|---|
[C언어] 80. 사용자 정의 형식 실습 - 테스트 (0) | 2016.04.17 |
[C언어] 79. 사용자 정의 형식 실습 - 기능 구현 (0) | 2016.04.17 |
[C언어] 78. 사용자 정의 형식 실습 - 형식 정의 (0) | 2016.04.17 |
[C언어] 77. 사용자 정의 형식 실습 - 시나리오 (0) | 2016.04.17 |
[C언어] 75. 공용체 (0) | 2016.04.17 |
[C언어] 74. 구조체 (0) | 2016.04.17 |
[C언어] 73. 문자열 정리하기 (0) | 2016.04.17 |
[C언어] 72. 문자열 복사 (0) | 2016.04.17 |
[C언어] 71. 문자열 비교와 strcmp 함수 (0) | 2016.04.17 |