“Dasturiy injiniring” fakulteti “MA‟lumotlar tuzilmasi va algoritmlar”




Download 1.33 Mb.
Pdf ko'rish
bet12/49
Sana20.08.2022
Hajmi1.33 Mb.
#25297
1   ...   8   9   10   11   12   13   14   15   ...   49
 


26 
1.3.6. Birlashmalar (union) 
 
Birlashmalar xuddi strukturalarga o„xshash toifa hisoblanadi, farqi shuki, 
birlashmalarda bir vaqtning o„zida faqat uning bitta elementigagina murojaat qilish 
mumkin. Birlashma toifasi quyidagicha aniqlanadi: 
union { 1-elementni tavsiflash; 
... 
n-elementni tavsiflash;
}; 
Birlashmalarning asosiy xususiyati shuki, e‟lon qilingan har bir element 
uchun xotiraning bitta hududi ajratiladi, ya‟ni ular bir-birini qoplaydi. Bu yerda 
xotiraning shu qismiga istalgan element bilan murojaat qilsa bo„ladi, lekin buning 
uchun element shunday tanlanishi kerakki, olinadigan natija ma‟noga ega bo„lishi 
kerak. Birlashmaning elementiga murojaat xuddi struktura elementiga murojaat 
kabi 
amalga 
oshiriladi. 
Birlashmalar 
qo„llaniladigan 
xotira 
obyektini 
initsializatsiya qilish maqsadida ishlatiladi, agarda har bir murojaat vaqtida bir 
qancha obyektlardan faqat bittasi faollashtirilsa. 
Birlashma toifasidagi o„zgaruvchi uchun ajratiladigan xotira hajmi ushbu 
toifaning eng uzun elementi uchun ketadigan xotira hajmi bilan aniqlanadi. Kichik 
uzunlikdagi element ishlatilganda, birlashma toifasidagi o„zgaruvchi uchun 
ajratilgan xotira sohasining ayrim qismi ishlatilmaydi. Birlashmaning barcha 
elementi uchun xotiraning bitta adresdan boshlanuvchi bitta sohasi ajratiladi. 
Masalan:
union { char fio[30]; 
char adres[80]; 
int yoshi; 
int telefon; } inform; 
union { int ax; 
char al[2]; } ua; 


27 
Birlashma tipidagi inform obyektini ishlatganda qiymat qabul qilgan 
elementnigina qayta ishlash mumkin, ya‟ni masalan inform.fio elementiga qiymat 
berilgandan keyin boshqa elementlarga murojaat ma‟noga ega emas. ua 
birlashmasi al elementining kichik ua.al[0] va katta ua.al[1] baytlariga alohida 
murojaat qilish mumkin. Birlashma tipiga oid misol ko„rib chiqamiz. 
#include  
using namespace std; 
int main() 
{ union Guruh{ 
int n; 
int m; 
}; 
Guruh w; 
w.n=12;// w birlashmasining n elementiga qiymat berish 
w.m=23; // w birlashmasining m elementiga qiymat berish 
cout<
marta m uchun 23 qiymati yozilgani sababli ekranga 23 23 javobi chiqariladi.
system("pause"); 


Download 1.33 Mb.
1   ...   8   9   10   11   12   13   14   15   ...   49




Download 1.33 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



“Dasturiy injiniring” fakulteti “MA‟lumotlar tuzilmasi va algoritmlar”

Download 1.33 Mb.
Pdf ko'rish