본문 바로가기

Programming/C++ 2

[C++] 4장. 복합 데이터형 - (5) 공용체와 (6) 열거체

반응형

5. 공용체

  • union
    • 서로 다른 데이터형을 한 번에 한 가지만 보관할 수 있는 매주 제한적인 데이터 형식
    • 따라서 어느 한 시점에 한 가지만 보관할 수 있다.
    • 가장 큰 멤버를 보관할 수 있을 만큼의 공간이 필요하다
    • 크기는 가장 큰 멤버의 크기

 

  • 익명 공용체
    • 이름이 없고 동일한 주소를 공유하는 변수들을 가진다
    • 한 번에 한 멤버만 사용 가능

 

 

6. 열거체

  • enum
    • const를 사용하여 기호 상수를 만드는 것을 대체하는 방법
    • 제한된 새로운 데이터형 정의
enum spectrum {red, orange, yellow, green, blue, violet, indigo, ultraviolet};

-> spectrum을 새로운 데이터형의 이름으로 생성

-> 각각을 0~7까지의 정수 값을 나타내는 기호 상수로 만들고 이를 열거자라고 부른다.

 

 

열거체의 이름을 사용 열거형의 변수를 선언

spectrum band;
band = blue;
band = orange;

int color = blue;
color = 3 + red;

band = spectrum(3);

-> 열거체는 대입 연산자만 사용 가능하며 산술 연산이 불가능하다.

band = spectrum(3); -> 3을 spectrum형으로 데이터형 변환

 

 

열거자 값의 설정

enum bits { one = 1, two = 2, four = 4, eight = 8};

-> 정수만 대입 가능하며, 일부 열거자에게만 명시적으로 대입 가능 할 수도 있다.

-> 하나 이상의 열거자들이 같은 값을 가질 수 있다.

 

  • 열거체의 값 범위
    • 컴파일러가 열거체를 보고나하기 위해 얼마만큼의 공간을 대입하느냐에 따라 달라진다.
    • 클래스의 사용 범위에서 다룬다.
반응형