본문 바로가기

C언어/C언어 문법

[C언어] 열거형 (enum)

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
반응형