Методичка O„zbekiston respublikasi aloqa, axborotlashtirish va


  1.3.6. Birlashmalar (union)



Yüklə 1,33 Mb.
Pdf görüntüsü
səhifə12/49
tarix02.12.2022
ölçüsü1,33 Mb.
#120338
növüЛабораторная работа
1   ...   8   9   10   11   12   13   14   15   ...   49
ssWL97f96rfBn9UDqVyfDstpls1QI7qkbdHroAcu

 


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   ...   8   9   10   11   12   13   14   15   ...   49




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin