728x90
반응형
열거형 (enum)
열거형은 const int 자료형을 같은 의미끼리 묶어서 정의할 때 사용된다.
열거형을 정의할 때에는 이름도 같이 정의해주면 열거형 변수를 선언하여 사용하는 것도 가능하다.
그러나 필수는 아니다. 정수이기 때문에 홀로 변수처럼 사용도 가능하며 변수에 대입도 가능하다.
따라서 아래 코드처럼 사용이 가능하다.
#include <stdio.h>
enum DayOfWeek {
Monday = 0, Tuesday = 1, Wednesday = 2, Thursday = 3,
Friday = 4, Saturday = 5, Sunday = 6
};
int main()
{
enum DayOfWeek week = Monday;
int intweek = Tuesday;
printf("%d %d %d", Wednesday, week, intweek);
return 0;
}
순서대로 Wednesday, Monday, Tuesday 에 대입된 값인 2, 0, 1 이 정상적으로 출력되었다.
열거형 초기화
열거형을 선언 할 때 아무값도 초기화하지 않으면 가장 앞에서부터 0으로 시작하며 1씩 증가한 값으로 초기화된다.
#include <stdio.h>
enum DayOfWeek {
Monday = 3, Tuesday, Wednesday, Thursday,
Friday, Saturday, Sunday
};
int main()
{
printf("%d %d %d %d %d %d %d", Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
return 0;
}
또한 일부 값만 초기화 했을 경우 초기화하지 않은 값은 앞선 수보다 1증가된 값으로 초기화된다.
#include <stdio.h>
enum DayOfWeek {
Monday, Tuesday = 8, Wednesday, Thursday,
Friday = 3, Saturday, Sunday = 7
};
int main()
{
printf("%d %d %d %d %d %d %d", Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
return 0;
}
728x90
반응형
'C언어 > C언어 문법' 카테고리의 다른 글
[C언어] 포인터 선언과 메모리 관리 (0) | 2024.09.19 |
---|---|
[C언어] 헤더파일, #include의 활용 (0) | 2024.02.28 |
[C언어] 파일의 분할 (extern, static) (0) | 2024.02.28 |
[C언어] 파일 입출력, 파일 스트림 생성 (fopen, fclose) (0) | 2024.02.28 |
[C언어] 조건부 컴파일 매크로 (#if, #elif, #endif, #ifdef, #ifndef) (0) | 2024.02.25 |