C언어 열거형(enum)에 대해
열거형(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)을 사용하는 이유?
-> 가독성을 높이고, 편리하게 관리할수 있고, 프로그래밍을 하는데 있어 실수를 줄일 수 있다 등...