Хотиранинг динамик сохаси ва курсаткичлар


Курсаткичлар хакида бошланғич маълумотлар



Download 59 Kb.
bet2/3
Sana23.03.2022
Hajmi59 Kb.
#506288
TuriПрограмма
1   2   3
Bog'liq
Хотиранинг динамик сохаси ва курсаткичлар

2. Курсаткичлар хакида бошланғич маълумотлар
Курсаткич шундай узгарувчики, у маълумотнинг кийматини эмас, балки уларнинг хотирадаги жойлашган адресини узида саклайди. Курсаткичларнинг икки хил типи мавжуд: типланган ва типланмаган. Типланмаган курсаткичларнинг эълон килиш учун pointer хизматчи сузидан фойдаланилади, типланган курсаткичларни эълон килиш учун эса курсатилган тип олдидан "^" белгиси куйилади.
Мисол:


var
p: pointer; {типланмаган курсаткич}
pint: ^ integer ; {pint - типланган, бутун типли курсаткич}
x, y: ^ byte; {x, y - байт типидаги курсаткич}
pst: ^ string ; {pst - катор типидаги курсаткич}

Адреси курсаткичда жойлашган зарур маълумотга курсаткич килиш учун курсаткич исмидан кейин "^" белгисини ёзиш керак:




GetImage (0, 0, 100, 100, p^); {график экран сохасининг
маълумотлари р да курсатилган
адресдаги хотира сохасига ёзилади}
pint^ :к2; {pint адреси буйича 2 бутун сони ёзилади}
x^ :к # 12; y^ :к $2; {x^ байтига # 12 кийматини узлаштири-лади, y^ байтига эса $ 2}
pst^ :к ' Ахмад'; {pst каторига 'Ахмад' сузини узлаштирилади}

Курсаткични ишлатиш учун уни факат эълон килибгина колмай, унинг кандай жойни курсатаётганлигига хам катта ахамият бериш зарур. Яъни, курсаткич оператив хотиранинг керакли маълумотлар жойлашган адресини аник курсатиши керак. Курсаткич адресини хато курсатиш кутилмаган натижалар олишга ёки бутунлай программа ишини чиппакка чикаришга олиб келиши мумкин. Шунинг учун, Паскал тилида махсус процедуралар мавжудки, улар ёрдамида хотира адреси аник хисобланади.


1. GetMem процедураси (типланмаган курсаткичлар учун) - тезкор хотирадан зарур микдорда жой ажратади ва унинг адресини курсаткичга жойлаштиради.
Аникланиш: GetMem (var p: Pointer; size : word);
p - курсаткич, size - ажратилган хотиранинг байт улчовидаги микдори.
Мисол:


var
p: pointer;
begin
GetMem (p, 1000); {1000 байт узунликдаги хотира
сохаси ажратилди}
{p^ сохадан фойдаланиш блоки}
FreeMem (p, 1000); {р адресдаги 1000 байт узунликли
хотира сохаси бушатиб куйилди}
end.

2. New процедураси (типланган курсаткичлар учун) - хотирадан зарур жойни банд килиб, унинг адресини берилган курсаткичга жунатади.


Аникланиши: New (var p: pointer);
р - берилган курсаткич.
New ва GetMem процедуралари нисбатан жуда катта хисобланмиш хотиранинг динамик сохасидан зарур микдордаги хотира сураб олади. Шу хотирани банд килиб, унинг адресини мос курсаткичга жунатади. Шундай холлар хам буладики, хотиранинг динамик сохасида буш жой колмайди, у холда шу хотирага юкоридаги процедуралар билан килинган курсаткич куйидаги маълумотли хатони юзага келтиради:



Download 59 Kb.

Do'stlaringiz bilan baham:
1   2   3




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