Aniq fanlar


Download 0.61 Mb.
bet16/20
Sana02.12.2023
Hajmi0.61 Mb.
#1780558
1   ...   12   13   14   15   16   17   18   19   20
Bog'liq
O

{
int n ;
unsigned long N;
char Satr[10];
>;
Birlashmaning bu e’lonida kompilyator tomonidan Birlashma uchun
uning ichidagi eng ko‘p joy egallovchi elementning - Satr satrining
oMchamida, ya’ni 10 bayt joy ajratiladi. Vaqtning har bir momentida
39
birlashmada, e’lon qilingan maydonlaming faqat bittasining turidagi berilgan
mavjud deb hisoblanadi. Yuqoridagi misolda Birlashma ustida amal
bajarilishida uning uchun ajratilgan xotirada yoki int turidagi n yoki
unsigned long turidagi N yoki Satr satr qiymati joylashgan deb
hisoblanadi.
Birlashma maydonlariga xuddi struktura maydonlariga murojaat
qilgandek ‘.’ orqali murojaat qilinadi.
Strukturalardan farqli ravishda birlashma e’lonida faqat uning
birinchi elementiga boshlangMch qiymat berish mumkin:
union Birlashma
{
int n ;
unsigned long N;

char Satr[10];
}
birlashma={25};
Bu misolda birlashma birlashmasining n maydoni boshlangMch
qiymat olgan hisoblanadi.
Birlashma elementi sifatida strukturalar kelishi mumkin va ular
odatda berilganni «boMaklarga» ajratish yoki «boMaklardan» yaxlit
berilganni hosil qilish uchun xizmat qiladi. Misol uchun so‘zni baytlarga,
baytlarni tetradalarga (4 bitga) ajratish va qaytadan birlashtirish mumkin.
Quyida baytni katta va kichik yarim baytlarga ajratishda birlashma
va strukturadan foydalanilgan programmani matni keltirilgan.
#include
40
union BCD
{unsigned char bayt;
struct
{
unsigned char l o :4;
unsigned char hi : 4 ;
142
} bin ;
} bcd;
int m a i n ()
{
b c d .bayt=12 7;
cout<<"\n Katta yarim bayt : "<<(int)bcd.bin.hi;

Download 0.61 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   20




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling