Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม 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