ยูเนี่ยนเป็นประเภทข้อมูลที่กำหนดโดยผู้ใช้ สมาชิกทุกคนในสหภาพมีตำแหน่งหน่วยความจำเดียวกัน ขนาดของสหภาพถูกกำหนดโดยขนาดของสมาชิกที่ใหญ่ที่สุดของสหภาพ หากคุณต้องการใช้ตำแหน่งหน่วยความจำเดียวกันสำหรับสมาชิกสองคนขึ้นไป สหภาพจะดีที่สุดสำหรับสิ่งนั้น
สหภาพแรงงานมีลักษณะคล้ายกับโครงสร้าง ตัวแปรยูเนี่ยนถูกสร้างขึ้นในลักษณะเดียวกับตัวแปรโครงสร้าง คีย์เวิร์ด “union” ใช้เพื่อกำหนดสหภาพในภาษาซี
นี่คือรูปแบบของสหภาพแรงงานในภาษาซี
union union_name { member definition; } union_variables;
ที่นี่
union_name − ชื่อใดๆ ที่มอบให้กับสหภาพแรงงาน
คำจำกัดความของสมาชิก − ชุดของตัวแปรสมาชิก
union_variable − นี่คือเป้าหมายของสหภาพ
นี่คือตัวอย่างสหภาพแรงงานในภาษาซี
ตัวอย่าง
#include <stdio.h> #include <string.h> union Data { int i; float f; }data, data1; int main( ) { printf( "Memory size occupied by data : %d\t%d", sizeof(data), sizeof(data1)); return 0; }
ผลลัพธ์
Memory size occupied by data : 44
ในโปรแกรมข้างต้น ข้อมูลยูเนี่ยนจะถูกสร้างขึ้นด้วยวัตถุของยูเนี่ยน
union Data { int i; float f; }data, data1;