c언어

20140423 - 열거형(Enumerated Type)의 정의와 의미

Owen.K 2014. 4. 23. 17:28

열거형(Enumerated Type)의 정의와 의미


구조체나 공용체와 마찬가지로 자료형을 정의하는 방법. 열거형 기반의 자료형 정의방법은 

구조체 및 공용체와 유사하고 정의된 열거형 기반의 변수 선언 방법은 구조체 및 공용체와 완전히 동일


열거형의 정의와 변수의 선언

열거형으로 syllable이라는 이름의 자료형을 정의한다는 것은 syllable형 변수에 저장이 가능한

정수 값들을 결정하겠다. 변수에 저장이 가능한 값들을 열거하여 정의한다고 해서 열거형이라고 한다.


열거형 상수의 값이 결정되는 방식

enum smart

{

Test,

Apple,

Car

};

#define Test    0이라고 정의한 것과 동일하다. 

#define Apple  1이라고 정의한 것과 동일하다.

#define Car  2이라고 정의한 것과 동일하다.    메모리 차지 하지 않는다.

초기값을 정의 할 수 있다. 


enum smart

{

Test,

Apple=30,

Car

};

각각 출력해보면

0, 30, 31이 출력된다.


열겨형의 유용함은 이름있는 상수의 정의를 통한 의미 부여에 있다.

열거형은 구조체 및 공용체와 정의하는 방식이 유사함에도 불구하고 정의하는 목적에서 큰 차이가 있다. 

구조체와 공용체는 자료형의 정의에 의미가 있다. 변수를 성언하기 위해서 자료형을 정의하는 것이다.

열거형도 정의하고 나면 해당 열거형의 변수 선언이 가능하지만 이유는, 연관있는 이름을 동시에 상수로

선언할 수 있다. 

열거형의 유용함은 둘 이상의 연관이 있는 이름을 상수로 선언함으로써 프로그램의 가독성을 

높이는데 있다.


main1.c


main2.c


main3.c