union Float32 {
float f;
unsigned char ch[4];
};
→ float 타입의 변수 f와 unsigned char 타입의 배열 ch[4]를 하나의 메모리 공간에서 공유하도록 union 타입인 Float32를 선언하였다
union은 클래스나 구조체보다는 저수준 데이터 해석 또는 메모리 절약용 특수 도구에 가깝습니다.
모두 사용자가 직접 정의하는 타입
여러 멤버를 가질 수 있음
변수 선언 후 멤버.이름으로 접근
| 항목 | struct/class | union |
|---|---|---|
| 메모리 구조 | 각 멤버가 별도 공간 차지 | 모든 멤버가 하나의 공간 공유 |
| 동시에 사용 가능 | 모든 멤버 사용 가능 | 한 번에 하나의 멤버만 유효 |
| 용도 | 데이터 묶음 | 형변환 또는 메모리 절약 목적 |