***공용체(union)
공용체는 구조체와 동일한 구조를 가지고 있다.
공용체는 구조체와 달리 한번에 한 메모리만 사용가능하다.
- 즉 여러 데이터 타입중 사용할 한 개를 선택하여 할당받은 메모리 공간을 사용한다.
union data {
int i;
char c;
float f;
};
union data x;
x.i = 10;
x.c = 'a';
x.f = 3.14;
//아래처럼 출력했을 경우 마지막에 선언된 3.14만 정상적으로 출력된다.
NSLog(@"x.i=%i", x.i);
NSLog(@"x.c=%c", x.c);
NSLog(@"x.f=%f", x.f);//->정상출력
//각각 별도로 값을 주고 사용하기 때문에 정상적으로 값이 출력된다.
x.i = 10;
NSLog(@"x.i=%i", x.i);
x.c = 'a';
NSLog(@"x.c=%c", x.c);
x.f = 3.14;
NSLog(@"x.f=%f", x.f);