728x90
ㅇ열거헝 enum
enum 열거형이름 {
값1 = 초깃값,
값2,
값3
};
- 정의 : enum 열거형이름 변수이름;
- example
#include <stdio.h>
enum DayOfWeek { // 열거형 정의
Sunday = 0, // 초깃값 할당
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
};
int main()
{
enum DayOfWeek week; // 열거형 변수 선언
week = Tuesday; // 열거형 값 할당
printf("%d\n", week); // 2: Tuesday의 값 출력
return 0;
}
- 연속되지 않은 불규칙한 값을 사용하려면 모든 열거형 값에 정수를 할당하면 됨
- typedef를 이용하여 별칭을 지정할 수 잇음.
- 열거형을 switch문에 이용
switch (열거형변수)
{
case 열거형값:
실행할코드;
break;
}
#include <stdio.h>
enum LuxSkill {
LightBinding = 1,
PrismaticBarrier,
LucentSingularity,
FinalSpark
};
int main()
{
enum LuxSkill skill; // 열거형 변수 선언
skill = LightBinding; // 열거형 값 할당
switch (skill)
{
case LightBinding: // 열거형 값이 LightBinding일 때
printf("LightBinding\n");
break;
case PrismaticBarrier: // 열거형 값이 PrismaticBarrier일 때
printf("PrismaticBarrier\n");
break;
case LucentSingularity: // 열거형 값이 LucentSingularity일 때
printf("LucentSingularity\n");
break;
case FinalSpark: // 열거형 값이 FinalSpark일 때
printf("FinalSpark\n");
break;
default:
break;
}
return 0;
}
- 열거형을 for문에 이용
#include <stdio.h>
typedef enum _DayOfWeek { // 열거형 이름은
_DayOfWeek Sunday = 0, // 초깃값을 0으로 할당
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
DayOfWeekCount // 열거형 값의 개수를 나타내는 항목 추가
} DayOfWeek; // typedef를 사용하여 열거형 별칭을 DayOfWeek로 정의
int main()
{
// 초깃값은 Sunday, i가 DayOfWeekCount보다 작을 때까지만 반복
for (DayOfWeek i = Sunday; i < DayOfWeekCount; i++) {
printf("%d\n", i);
}
return 0;
}
728x90
'고흐의 연구실 > C언어와 C++' 카테고리의 다른 글
[C언어] 함수에서 가변인자 사용하기 (0) | 2020.08.30 |
---|---|
[C언어] 파일 입출력, 복사 등등.. (0) | 2020.08.30 |
[C언어] 구조체 비트 필드 (0) | 2020.08.13 |
[C언어] 구조체 응용 (0) | 2020.08.10 |
[C언어] 공용체란? Union? (0) | 2020.08.10 |