[C]공용체
📚공용체의 정의
공용체는 하나의 자료를 여러 멤버가 공통적으로 사용하게 해주는 것이다. 즉, 동일한 기억장소에 여러 유형의 자료를 저장하기 위해 사용자가 선언한 자료형이다. 공용체는 멤버들이 완전히 다른 자료형의 값을 가질 때 기억공간을 절약하기 위해 사용된다.
1
2
3
4
5
6
7
8
union var // 공용체 정의
{
char a;
int b;
float c;
};
union var abc; // 공용체 변수 선언
📚공용체의 사용
공용체 선언이 이뤄지면 멤버 중 자료의 크기가 가장 큰 멤버에 대해서만 기억공간이 할당되고 기억공간의 시작 위치부터 각 부분을 다른 멤버가 공용으로 사용한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
union var
{
char a;
int b;
double c;
};
void main()
{
union var temp; // 공용체 var의 크기는 멤버 중 가장 큰 자료인 double형(8byte)에 맞게 할당
temp.a = 'a'; // 'a'이 저장되고 1byte만 사용
temp.b = 10; // 'a'이 지워지고 10이 저장됨. 4byte만 사용
temp.c = 123.4567; // 10이 지원지고 123.4567 저장됨. 8byte 사용
}
Leave a comment