C-Language/union example
union example
Soul-Learner
2010. 11. 10. 13:27
UNION(공용체)은 멤버로 선언된 변수 중에서 가장 큰 자료형으로 메모리가 할당되고, 이들 변수는 저장공간을 서로 공유하게 된다. 즉, 여러개의 변수 중에서 하나만 선택하여 사용하는 경우에는 모든 변수에게 필요한 공간을 할당하는 것이 아니라 멤버변수 중에서 가장 큰 자료형에 따른 메모리가 할당되고 멤버변수들은 그 공간을 공유하게 된다.
다음 예제는 이용자의 식별자로 번호(num)나 이름(name) 중에서 하나만 선택하여 입력할 경우를 예로 든 것이다.
#include <stdio.h>
int main( void ){
union u_test {
int num;
char name[16];
};
union u_test id;
id.num = 65;
printf("num=%d\n", id.num); // 65
printf("name=%s\n", id.name); // A
id.name[0] = 'A';
printf("num=%d\n", id.num); // 65
printf("name=%s\n", id.name); // A
return 0;
}