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

+ Recent posts