union က struct နဲ့ဆင်တူပေမယ့် member အားလုံးက memory location တစ်ခုတည်းကိုမျှဝေပါတယ်။ အချိန်တစ်ချိန်မှာ member တစ်ခုရဲ့ value ကိုပဲ အမှန်အတိုင်းသိမ်းထားနိုင်ပါတယ်။ Memory ချွေတာချင်တဲ့ low-level program တွေမှာအသုံးဝင်ပါတယ်။
c
#include <stdio.h>
union Data {
int i;
float f;
};
int main() {
union Data data;
data.i = 10;
printf("data.i: %d
", data.i);
data.f = 220.5;
printf("data.f: %.1f", data.f);
return 0;
}data.i ကိုသိမ်းပြီးနောက် data.f ကိုသိမ်းလိုက်ရင် တူညီတဲ့ memory ကိုပြန်သုံးတာကြောင့် previous value ကို ယုံကြည်လို့မရတော့ပါ။
You should see
data.i: 10 data.f: 220.5Info
Union ကို type တစ်ခုချင်းစီအလှည့်ကျသိမ်းဖို့သုံးပါတယ်။ တပြိုင်နက်တည်း data အများကြီးသိမ်းချင်ရင် struct သုံးပါ။