Ислом Каримов



Download 1,27 Mb.
Pdf ko'rish
bet26/46
Sana25.06.2022
Hajmi1,27 Mb.
#701850
1   ...   22   23   24   25   26   27   28   29   ...   46
Bog'liq
С да дастурлаш 2

8.7. Структурани узатиш 
Структура элементларини узатиш оддий маълумот турларида эълон 
қилинган ўзгарувчилар каби эълон қилингани сингари, ўзгарувчиларнинг 
устида бажариладиган амаллар ҳам структурали ўзгрувчиларнинг устида ҳам 
бажарилади. Ўзгаруччиларнинг бир – бирига ўз қийматини узатишда 
ўзгаурвчиларнинг типлари бир хиллиги ахамиятга эга бўлгани каби бир турлаги 
структурали ўзгарувчиларнинг қийматлари бир – бирига узатилади. Бунда 
структуранинг ҳар бир элементларининг қийматлари ўзлаштираётган 
структурали ўзгарувчининг ҳар бир элементига узатилади. Масалан, 
struct complex { 
float re; 
float im; 
}; 
... 
complex a={0.0,2.3},b; 
b=a; 
Юқорида берилган мисолда, а ўзгарувчиси элементларининг қийматлари 
ўзгарувчи эълон қилинганида берилмоқда. Иккичи сатрда бошқа бир ўзи билан 
турдош ўзгарувчига унинг қийматлари ўзлаштирилиб олинмоқда. 
Структуралар функциялар аргументлари сифатида ёки функция 
қайтарувчи қиймат келиши мумкин. Бундан ташқари иккала холда хам 
структурага кўрсаткичлардан фойдаланиш мумкиндир. Мисол учун комплекс 
сон модулини хисоблаш дастурини келтирамиз:
double modul(complex a)

return sqrt(a.real*a.real+a.imag*a.imag); 
}
Икки комплекс сон йиғиндисини хисоблаш функцияси:
complex add(complex a, complex b) 
{
complex c;
c.real=a.real+b.real;
c.imag=a.imag+b.imag;
return c; 


8. Структуралар ва бирлашмалар 
~ 41 ~ 

8.8. Структураларда кўрсаткич 
Структуралар билан ишлаш жараёнида структурага қўйиладиган 
кўрсатгичлар билан ишлашга тўғри келади. Биринчи навбатда кўрсатгич қандай 
амаллигини билиб олишимиз керак бўлади. Кўрсаткич - хотира уясининг 
уникал адресини сақлайдиган ўзгарувчи. Кўрсаткич оператив хотирадаги 
бирон-бир ўзгарувчи мавжуд бўлиши мумкин бўлган бирон-бир жойни 
белгилайди. Кўрсаткичларнинг қийматларини ўзгартириш, турли вариантларда 
қўллаш мумкинки, бу дастурнинг мослашувчанлигини оширади. Кўрсаткич 
одатда типга эга бўлиб қуйидагича эълон қилинади: 
<турнинг номи>*<кўрсаткичнинг номи>=<дастлабки қиймат> 
Мисол учун:
int *pr;
char *alfa; 
Бу холда кўрсаткичлар ноаниқ қийматга эга бўлади. Кўрсаткичлар 
таърифланганда уларнинг типлари кўрсатилиши шарт. Кўрсаткичларни 
инициализация қилиш, яъни бошланғич қийматларини киритиш мумкин. 
Маълум турдаги бирон-бир ўзгарувчи адреси ёки NULL қиймат дастлабки 
қиймат бўлиши мумкин. Кўрсаткичларга бошланғич махсус NULL қиймати 
берилса бундай кўрсаткич бўш кўрсаткич деб аталади.
Бирон-бир ўзгарувчи адресини олиш ҳамда уни кўрсаткичга қиймат 
сифатида бериш учун «&» оператори қўлланади. 
Мисол:
int I=100;
int*p=&I;
unsigned longint *ul=NULL; 
Агар структуранинг бирон – бир элементини кўрсатгич билан 
аниқланиши мумкин. Бу қуйидаги мисолда кўриб чиқамиз. Мисол сифатида 
унивеситет ёки институт талабаси мисолида кўрамиз. Яратилаётган 
структурамизда қуйидаги майдонлар мавжуд бўлсин. Талабанинг фамилияси, 
исми, туғилган куни, ойи ва йили, талабалнинг оғирлиги ва бўйи (метрда). 
struct Talaba{ 
char* familyasi; 
char* ismi; 
int kun; 
int oy; 
int yil; 
float massa; 
float buyi; 

Бу структурада кўриб турганимизда иккита майдон кўрсатгич ёрдамида 
эълон қилинган. Бу эълон қилинган майдонлар белгили типда эълон қилинган. 


8.8. Структураларда кўрсаткич 
~ 42 ~ 
Кўрсатгич ёрдамида эълон қилинган белгили ўзгарувчи сатрларни ҳам қиймат 
сифатида олиши мумкин.
Юқорида берилган структура ёрдамида мисол дастур яратамиз. 
#include  
#include  
using namespace std; 
struct Talaba 

char* familyasi; 
char* ismi; 
int kun; 
int oy; 
int yil; 
float massa; 
float buyi; 
}; 
int main() 

Talaba t; 
t.familyasi = "Aliyev"; 
t.ismi = "Maqsud"; 
t.kun = 8; 
t.oy = 8; 
t.yil = 1992; 
t.massa = 62; 
t.buyi = 1.72; 
printf("FIOsi: %s %s\nTY:%i-%i-%i\nOg'irligi: %4.2f kg\nBuyi: %4.2f 
m", t.familyasi,t.ismi,t.kun,t.oy,t.yil,t.massa,t.buyi); 
return 0; 


Download 1,27 Mb.

Do'stlaringiz bilan baham:
1   ...   22   23   24   25   26   27   28   29   ...   46




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish