173~179
union
서로다른 데이터형을 한번에 하나씩만 보관
union one4all
{
int int_val;
long long_val;
float float_val;
};
one4all ss;
ss.int_val = 3;
cout << "float " << ss.float_val << "\n";
cout << "long " << ss.long_val << "\n";
cout << "int " << ss.int_val << "\n";
//결과
float 4.2039e-45
long 3
int 3
ss.float_val = 4.5f;
cout << "float " << ss.float_val << "\n";
cout << "long " << ss.long_val << "\n";
cout << "int " << ss.int_val << "\n";
//결과
float 4.5
long 1083179008
int 1083179008
한번에 한 자료형의 값만을 저장하고 저장한 뒤에는 다른 자료형의 값들은 소실된다.
enum
한 데이터형에 기호상수를 여러가지 넣을 수 있다.
enum testEnum //정수만을 넣을 수 있다.
{
red, orange, yellow, //값을 넣지않으면 0 부터 1씩 증가하여 값이 넣어진다.
green = 5, pink //값을 넣은곳의 다음 값을 지정하지 않으면 이전 값부터 1씩 증가한다.
};
testEnum xx;
xx = red; //red 0
cout << xx << "\n";
//출력
0
xx = pink; //pink 6
cout << xx << "\n";
//출력
6
xx = 0; //red와 값이 같지만 직접 대입못한다.
xx = 43; //값을 직접 대입하지 못한다.
xx = red + orange; //변수 xx에는 지정한 한 변수만 들어갈 수 있다.
int yy;
yy = 2 + red + orange; //지정한 정수값으로 취급하여 더해진다.
'C++ > Basic' 카테고리의 다른 글
구조체(struct) (0) | 2021.02.22 |
---|---|
포인터 (0) | 2021.02.22 |
char, string (0) | 2021.02.22 |
vector, pair, tuple을 vector에 넣기 (0) | 2021.01.08 |
상수(const) (0) | 2020.11.04 |