구조체가 Union 내부에 중첩되어 있으면 구조체의 Union이라고 합니다. C 프로그래밍 언어의 구조체 내부에 공용체를 생성할 가능성이 있습니다.
예시
다음은 구조체의 합집합을 위한 C 프로그램입니다 -
#include<stdio.h> struct x { int a; float b; }; union z{ struct x s; }; main ( ){ union z u; u.s.a = 10; u.s.b = 30.5; printf("a=%d", u.s.a); printf("b=%f", u.s.b); getch ( ); }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
a= 10 b = 30.5
예시
다음은 구조의 합집합을 위한 또 다른 C 프로그램입니다 -
#include<stdio.h> union abc{ int a; char b; }v; int main(){ v.a=90; union abc *p=&v; printf("a=%d\n",v.a);//90 printf("b=%c\n",v.b);//Z printf("a=%d b=%c\n",p->a,p->b);//90 Z printf("%d",sizeof(union abc));//4 return 0; }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
a=90 b=Z a=90 b=Z 4