Computer >> Máy Tính >  >> Lập trình >> lập trình C

Giải thích khái niệm liên hiệp các cấu trúc trong ngôn ngữ C

Nếu cấu trúc được lồng bên trong một liên hợp, nó được gọi là liên hợp các cấu trúc. Có thể tạo liên hợp bên trong cấu trúc bằng ngôn ngữ lập trình C.

Ví dụ

Sau đây là chương trình C cho liên hiệp các cấu trú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 ( );
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

a= 10
b = 30.5

Ví dụ

Dưới đây là một chương trình C khác dành cho liên hợp các cấu trú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;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

a=90
b=Z
a=90 b=Z
4