ยูเนี่ยนเรียกว่าเป็นตำแหน่งหน่วยความจำซึ่งใช้ร่วมกันโดยตัวแปรหลายประเภทของประเภทข้อมูลที่แตกต่างกัน
ไวยากรณ์
ไวยากรณ์มีดังนี้ −
union uniontag{ datatype member 1; datatype member 2; ---- ---- datatype member n; };
ตัวอย่างเช่น
union sample{ int a; float b; char c; };
การประกาศตัวแปรยูเนียน
รับด้านล่างเป็นการประกาศของตัวแปรยูเนี่ยนตามลำดับ -
ตัวอย่างสหภาพแรงงาน
{ int a; float b; char c; }s;
ยูเนี่ยน
{ int a; float b; char c; }s;
ตัวอย่างสหภาพแรงงาน
{ int a; float b; char c; }; union sample s;
เมื่อมีการประกาศสหภาพ คอมไพเลอร์จะสร้างตัวแปรที่มีประเภทตัวแปรที่ใหญ่ที่สุดในสหภาพโดยอัตโนมัติ
สามารถอ้างอิงตัวแปรได้เพียงตัวเดียวเท่านั้นเมื่อใดก็ได้
การเริ่มต้นและการเข้าถึง
- การเข้าถึงสมาชิกสหภาพเหมือนกับโครงสร้าง
- โดยทั่วไป ตัวดำเนินการ dot ใช้สำหรับเข้าถึงสมาชิก
- ตัวดำเนินการลูกศร ( ->) ใช้สำหรับเข้าถึงสมาชิก
- ไม่มีข้อจำกัดในขณะที่ใช้ชนิดข้อมูลในสหภาพ
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับยูเนี่ยนเพื่อชี้ -
#include<stdio.h> union abc{ int a; char b; }; int main(){ union abc var; var.a=90; union abc *p=&var; printf("%d%c",p->a,p->b); }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
90Z