O‟zbekiston respublikasi oliy va o‟rta maxsus ta‟lim vazirligi buxoro davlat universiteti fizika – matematika fakulteti


Ko`rsatkichlar, adreslar va o`zgaruvchilar



Download 0,55 Mb.
Pdf ko'rish
bet34/43
Sana25.05.2020
Hajmi0,55 Mb.
#56026
1   ...   30   31   32   33   34   35   36   37   ...   43
Bog'liq
bogdorchilikka ixtisoslashgan fermer xozhaliklarining tashkilij-iqtisodij zhihatlarini takomillashtirish

Ko`rsatkichlar, adreslar va o`zgaruvchilar. 

C++  dasturlash  tili  imkoniyatlarini  o`rganishda,  birinchi  navbatda 

ko`rsatkichlar,  ko`rsatkichda  saqlanayotgan  adreslar,  ko`rsatkichda  saqlanayotgan 

adresda yozilgan qiymatlar o`rtasidagi farqlarni bilishingiz kerak bo`ladi.  

Yana bir dastur fragmentini qaraymiz. 

int theVariable = 5; 

int * pPointer = &theVariable; 

 

 



 

 

 

 

 

 

 

2.2.3-chizma.Xotirani taqsimlanish sxemasi 

Birinchi satrda butun tipli bo`lgan  theVariable o`zgaruvchisi e`lon qilindi va 

unga 5 qiymat o`zlashtirildi. Keyingi satrda int tipiga  ko`rsatkich e`lon qilindi va 

unga  theVariable  o`zgaruvchisining  adresi  o`zlashtirildi.  pPointer    ko`rsatkichi 

theVariable    o`zgaruvchisi  adresini  o`zida  saqlaydi.  pPointer  da  yozilgan  adresda 

saqlanuvchi  qiymat  5  ga  teng.  rasmda  bu  o`zgaruvchilar  strukturasi  sxematik 

tarzda ko`rsatilgan.  

Lokal  o`zgaruvchilar  va  Funksiya  parametrlari  stekli  xotirada  joylashtiriladi. 

Dastur kodlari esa dastur segmentida joylashadi. Global o`zgaruvchilar xotiraning 

global  o`zgaruvchilar  sohasida  joylashadi.  Registrli  xotira  dasturning  ichki 

xizmatchi ma`lumotlarini saqlash uchun xizmat qiladi. Xotiraning qolgan qismi esa 

turli  ob`ektlar  o`rtasida  dinamik  tarzda  taqsimlanuvchi  xotira  sohasi,  ya`ni  bo`sh 

xotiradan iboratdir. 

         

 

 

 



 

 

 



 

 

 



 

 

 



 

 

100          101          102           103          104          105           106         107           108          109            110          111  



 

theVariable 

00000000                                                                        00000000             00000000     

    


00000101                                                                      00000000              01100101  

O‘zgaruvchi 

nomi 

pPointer 



Joylashish adresi 

101 




 

38 


 Lokal  o`zgaruvchilarning  o`ziga  xos  xususiyati  shundan  iboratki,      dastur 

boshqaruvi ular tegishli Funksiyadan chiqishi bilan ular lokal o`zgaruvchilar uchun 

ajratilgan xotira sohasi bo`shatiladi, ya`ni bu o`zgaruvchilar o`chiriladi.  

Global  o`zgaruvchilar  esa  dastur  ishga  tushirilgandan  boshlab  toki  o`z  ishini 

yakunlaguncha  xotiradan  o`chirilmaydi,    dasturning  ixtiyoriy  joyidan  ularning 

qiymatidan  foydalanishimiz  mumkin  bo`ladi.  Lekin  bu  dastur  matni 

tushunarliligini  ancha  murakkablashtiradi.  Lokal  va  global  o`zgaruvchilar  o`ziga 

xos  kamchiliklarga  ega.  Lokal  o`zgaruvchilardan  faqatgina  u  e`lon  qilingan 

Funksiya ishlab turganda foydalanish mumkin bo`lsa, global o`zgaruvchilar dastur 

ishini  boshlagandan  toki  oxirigacha  global  o`zgaruvchilar  sohasidan  joy  olib 

turadi. Dinamik xotiradan foydalanish bu muammolarni butunlay hal qiladi.  

 

  Dinamik xotirani axborotlar yozilgan yacheykalarning nomerlangan to`plami 



sifatida  qarash  mumkin.  Stek  o`zgaruvchilaridan  farqli  ravishda  bu  xotira 

yacheykalarini nomlash mumkin emas. Ularga murojaat kerakli yacheyka adresini 

o`zida saqlagan ko`rsatkichlar orqali amalga oshiriladi. 

Ma`lumki,  stek  o`zgaruvchilari  Funksiya  ishini  tugatishi  bilan  tozalanadi. 

Natijada,  barcha  lokal  o`zgaruvchilar  qiymati  bilan  birgalikda  xotiradan 

o`chiriladi.  Stekdan  farqli  ravishda  dinamik  xotira  dastur  ishini  tugatgunga  qadar 

bo`shatilmaydi, 

bu 


xotirani 

bo`shatish 

bilan 

dasturchilarning 



o`zlari 

shug‘ullanishlari lozim. 

 Dinamik  xotiraning  yana  bir  muhim  imkoniyati  shundan  iboratki,  uning 

uchun  ajratilgan  xotira  sohasi  bo`shatilmaguncha  bu  joydan  foydalanish  mumkin 

emas.  Ya`ni,  biror  bir  qiymatni  dinamik  xotiraga  yozsak,  toki  uni  u  erdan 

o`chirmagunimizcha bu o`zgaruvchi uchun ajratilgan joy bo`shatilmaydi. Shuning 

uchun,  dinamik  xotira  sohasi  Funksiya  bilan  ishlash  jarayonida  ajratilgan  bo`lsa, 

Funksiya  ishini  tugatgandan  keyin  ham  biz  undan  bemalol  foydalanishimiz 

mumkin  bo`ladi.  Xotirani  dinamik  tarzda  belgilashni  global  o`zgaruvchilarni 

qo`llashdan  yana  bir  ustunligi  undagi  ma`lumotlarga  faqatgina  uning 

ko`rsatkichiga  murojaat  qilish  imkoniga  ega  bo`lgan  Funksiyalar  orqaligina 

murojaat qilish mumkin. 




 

39 


Kirish  imkonining  bunday  tarzda    tashkil  etilishi  joriy  ma`lumotlarni 

o`zgartirilishini qat`iy nazorat qilish imkoniyatini beradi. 

Bunday  uslubda  ishlash  uchun  birinchi  navbatda  dinamik  xotira  sohasi 

yacheykalariga    ko`rsatkich  tuzish  lozim.  Bu  qanday  amalga  oshirilishini 

navbatdagi qismlarda ko`rib chiqamiz.   


Download 0,55 Mb.

Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   ...   43




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