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



Yüklə 1,33 Mb.
Pdf görüntüsü
səhifə14/56
tarix08.09.2023
ölçüsü1,33 Mb.
#142109
1   ...   10   11   12   13   14   15   16   17   ...   56
dokumen.tips aoemaalumotlar-tuzilmasi-va-ekvivalentlik-implikatsiya-chiqarib-tashlash-va

 
 
 


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"); 


Yüklə 1,33 Mb.

Dostları ilə paylaş:
1   ...   10   11   12   13   14   15   16   17   ...   56




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin