Desc :
구조체와 정의 방법이 같지만 멤버를 저장하는 방식이 다름
공용체는 모든 멤버가 공간(가장 큰 자료형의 공간)을 공유한다
공용체의 멤버 변수의 값이 달라지면 다른 멤버 변수들도 영향을 받기 때문에
한번에 한 변수만을 사용해야한다
Source Code :
#include<stdio.h>
#include<string.h>
union Box
{
short a; // 2바이트
float b; // 4바이트
char c[8]; // 8바이트
};
void main()
{
union Box b1;
printf("%d\n\n", sizeof(b1));
strcpy(b1.c, "bear");
printf("%d\n", b1.a);
printf("%f\n", b1.b);
printf("%s\n", b1.c);
printf("-------\n");
b1.a = 10;
printf("%d\n", b1.a);
printf("%f\n", b1.b);
printf("%s\n", b1.c);
printf("-------\n");
b1.b = 30.2;
printf("%d\n", b1.a);
printf("%f\n", b1.b);
printf("%s\n", b1.c);
}
Result :
'C' 카테고리의 다른 글
[C] 046 데이터형 정의하기 (1) | 2021.01.23 |
---|---|
[C] 045 열거형 (1) | 2021.01.23 |
[C] 043 구조체 (1) | 2021.01.23 |
[C] 042 NULL 문자 (1) | 2021.01.23 |
[C] 041 포인터 (1) | 2021.01.23 |