공용체( union )
서로 다른 데이터형을 한 번에 한 가지만 보관할 수 있는 데이터 형식
(구조체는 int형과 double형을 한꺼번에 보관할 수 있지만, 공용체는 int형이나 double형 중에서 한번에 어느 하나만 보관할 수 있음)
구조체( struct )와 거의 동일하지만 모든 멤버 변수가 하나의 메모리 공간을 공유한다는 점이 다르다.
즉, 공용체( union )은 내부에 여러가지 타입의 멤버 변수를 선언하지만 실제 사용할 때에는 하나의 멤버 변수만 사용할 수 있다.
특징
- 한 번에 하나의 값만 보관할 수 있으므로, 가장 큰 멤버를 보관할 수 있을 만큼의 공간이 필요하다.(따라서 공용체의 크기는 가장 큰 멤버의 크기가 됨)
- 멤버 변수끼리 같은 메모리 공간을 공유하기 때문에 각 멤버들의 메모리 시작 주소가 동일하다. (따라서, 각 멤버 변수의 변화가 다른 멤버 변수에 영향을 끼침 / struct는 멤버 변수가 각각 다른 메모리 공간을 할당받음)
- 메모리 절약을 위해서 사용한다. (여러가지 데이터형을 사용할 수 있지만 이들을 동시에 사용할 수 없을 때)
위 내용은 '티스토리 HyunZzang님의 union(공용체)에 대하여 정리한 글'의 일부를 정리한 내용입니다.
'**Autonomous driving tech. > *C++' 카테고리의 다른 글
[C++] 10_반복문 ( for , while ) (0) | 2024.09.16 |
---|---|
[C++] 09_공용체( union ) 와 열거체( enum ) (2) | 2024.09.16 |
[C++] 07_구조체( struct ) (0) | 2024.09.16 |
[C++] 06_char형 배열과 string 배열의 차이점 (0) | 2024.09.16 |
[C++] 05_산술연산자와 auto (3) | 2024.09.15 |