Hardner

C언어 열거형(enum)에 대해 본문

Computer/C-language

C언어 열거형(enum)에 대해

Hardner 2018. 3. 18. 00:49

열거형(enum)




열거형(enum)이란?


-> "열거"는 나열한다는 뜻이다. 어떤 유사한 성질을 갖는 내용들을 정수로 표현할 때가 있는데,

예로 1. red 2. blue 3. yellow 4. green 와 같은 것을 저장해두고 사용하면 편하다.



열거형(enum)의 정의

-> 구조체나 공용체와 유사한 방식으로 진행된다.


enum name { 내용 };


ex) enum color { red, blue, yellow, green };


여기서 typedef를 이용하면


-> typedef enum name { 내용 } 정의할이름;


enum은 중괄호 { } 안에 사용할 문자를 지정하고 콤마로 구분을한다.

값을 정의하지 않으면 enum은 정수 0부터 차례대로 시작하게 되어있다. 

위와 같은 형태이면


red는 0 , blue는 1, yellow는 2, green은 3


값을 정의한다면(자신이 원하는 값으로 정의할수있음)


enum color { red = 4, blue, yellow = 50, green };


red는 4, blue는 5, yellow는 50, green은 51


위와 같이 값이 초기화된다. 

즉, 

1. 값을 지정해주지않으면 0부터 차례대로 시작됨.

2. 자신이 원하는 값으로 지정할수 있음.

3. 지정한 값 이후에는 다음 값을 지정하지 않으면 자동으로 +1의 값을 가지게 됨.


열거형(enum) 선언방법:

-> 구조체나 공용체와 동일함.

enum color c;


-> enum color를 하나의 타입으로 생각해야 함.

-> 위와 같이 선언하면 enum color 값들 중의 하나만 가져야 함.

ex)

c = red; 


열거형(enum)을 사용하는 이유?

-> 가독성을 높이고, 편리하게 관리할수 있고, 프로그래밍을 하는데 있어 실수를 줄일 수 있다 등...

'Computer > C-language' 카테고리의 다른 글

백준 2839번 설탕배달  (1) 2017.08.12
C언어 열혈강의 part2. Chapter4. 문제풀이  (0) 2017.07.26