Thuta Learning
ရှာဖွေရန်
AdvancedProgrammingbeginner

Unions

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

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.5

Info

Union ကို type တစ်ခုချင်းစီအလှည့်ကျသိမ်းဖို့သုံးပါတယ်။ တပြိုင်နက်တည်း data အများကြီးသိမ်းချင်ရင် struct သုံးပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Union member အားလုံးကို struct လို တပြိုင်နက်တည်း valid ဖြစ်မယ်ထင်တာက အမှားပါ။
Unions | Thuta Learning