Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ระบุความแตกต่างระหว่างโครงสร้างและการรวมกันด้วยตัวอย่างที่เหมาะสมในภาษาซี


ความแตกต่างระหว่างโครงสร้างและสหภาพแรงงานในภาษา C อธิบายไว้ด้านล่าง -

S.No โครงสร้าง ยูเนี่ยน
1 คำจำกัดความ
โครงสร้างคือการรวบรวมข้อมูลรายการต่าง ๆ ที่จัดกลุ่มเข้าด้วยกันภายใต้ชื่อเดียว
คำจำกัดความ
ยูเนี่ยนคือตำแหน่งหน่วยความจำที่ใช้ร่วมกันโดยตัวแปรหลายตัวของประเภทข้อมูลที่แตกต่างกัน
2 ไวยากรณ์
struct tagname{
   datatype member1;
   datatype member2;
   ----
   ----
   ----
};
ไวยากรณ์
union tagname{
   datatype member1;
   datatype member2;
   ----
   ----
   ----
};
3 เช่น;
struct sample{
   int a;
   float b;
   char c;
};
เช่น;
union sample{
   int a;
   float b;
   char c;
};
4 คำหลัก − โครงสร้าง คำหลัก − สหภาพแรงงาน
5 การจัดสรรหน่วยความจำ การจัดสรรหน่วยความจำ
6 ระบุความแตกต่างระหว่างโครงสร้างและการรวมกันด้วยตัวอย่างที่เหมาะสมในภาษาซี ระบุความแตกต่างระหว่างโครงสร้างและการรวมกันด้วยตัวอย่างที่เหมาะสมในภาษาซี
7 หน่วยความจำที่จัดสรรเป็นผลรวมของขนาดของประเภทข้อมูลทั้งหมดในโครงสร้าง (ในที่นี้ 7 ไบต์)
หน่วยความจำที่จัดสรรคือขนาดสูงสุดที่จัดสรรระหว่างประเภทข้อมูลทั้งหมดในสหภาพ (ที่นี่ 4 ไบต์)
8 มีการจัดสรรหน่วยความจำสำหรับสมาชิกของโครงสร้างที่แตกต่างกัน
มีสมาชิกเพียงคนเดียวเท่านั้นที่จะอยู่ในหน่วยความจำ ณ อินสแตนซ์ใด ๆ

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรม C สำหรับโครงสร้าง -

#include<stdio.h>
struct size{
   double a;
   int b;
   char c;
   float d;
};
int main(){
   printf("%ld",sizeof( stuct size));
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

24

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรม C เกี่ยวกับสหภาพ -

#include<stdio.h>
union size{
   double a;
   int b;
   char c;
   float d;
}
Int main(){
   Printf("ld",sizeof(union size));
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

8