Сайфиев ж. Ф. С++ тилига кириш услубий қўлланма


Кўрсаткичнинг адресларни сақлаш воситаси сифатида қўлланилиши



Download 3,43 Mb.
bet55/79
Sana09.07.2022
Hajmi3,43 Mb.
#767124
1   ...   51   52   53   54   55   56   57   58   ...   79
Bog'liq
C dan uslubiy qulanma

Кўрсаткичнинг адресларни сақлаш воситаси сифатида қўлланилиши.


Дастурнинг ҳар бир ўзгарувчиси ўзининг адресига эгадир. Бу адресни сақлаш учун эса ўзгарувчига кўрсаткич эълон қилиш керак. Адреснинг ўзининг қийматини билиш эса унчалик шарт эмас.
Масалан, howOld ўзгарувчиси int типига эга. Бу ўзгарувчини адресини сaқловчи pAge кўрсаткичини эълон қилиш учун қуйидаги дастур фрагментини ёзиш лозим.
int *pAge = 0;

Бу сатрда pAge ўзгарувчиси int типига кўрсаткич сифатида эълон қилинаяпти.


pAge ўзгарувчиси бошқа ўзгарувчилардан умуман фарқ қилмайди. Бутун типли ўзгарувчини эълон қилишда биз унда бутун сон сақланишини кўрсатамиз. Қачонки ўзгарувчи бирор бир типга кўрсаткич деб эълон қилинса, бу кўрсаткич ўша типдаги ўзгарувчининг адресини ўзида сақлайди. Демак, кўрсаткичлар ҳам ўзгарувчиларнинг алоҳида тури экан.
Бу мисолда pAge ўзгарувчисига нол қиймат ўзлаштирилаяпти. Қиймати нолга тенг бўлган кўрсаткичлар бўш кўрсаткичлар дейилади. Кўрсаткич эълон қилинганда унга албатта бирор бир қиймат ўзлаштирилиши лозим. Агарда бу олдиндан аниқ бўлмаса унга 0 қиймат бериш зарур. Қиймат ўзлаштирилмаган кўрсаткичлар кейинчалик кўплаб нохуш ҳодисаларга сабаб бўлиши мумкин. Биз улар билан кейинроқ батафсил танишамиз.
pAge кўрсаткичи эълон қилинганда унга 0 қиймат берилиб, кейинчалик эса унга бошқа қиймат, масалан howOld ўзгарувчиси адресини ўзлаштириш мумкин. Қуйида буни амалга оширилиши кўрсатилган.

unsigned short int howOld=50; //ўзгарувчини эълон //қиламиз.


unsigned short int *pAge=0; //кўрсаткични эълон //қиламиз.
pAge= &howOld; //pAge кўрсаткичга howOld ўзгарувчи //адресини ўзлаштирамиз.

Биринчи сатрда unsigned short int типидаги ўзгарувчи эълон қилинган ва унга 50 қиймат ўзлаштирилган. Иккинчи сатрда эса unsigned short int типидаги pAge типига кўрсаткич эълон қилинган ва унга 0 қиймат ўзлаштирилган. Тип номи ва ўзгарувчи орасидаги юлдузча (*) белгиси ундан кейин келган ўзгарувчини кўрсаткич эканлигини англатади.


Охирги сатрда pAge кўрсаткичига howOld ўзгарувчиси адреси ўзлаштирилаяпти. Бунда адрес оператори (&) howOld ўзгарувчисини адресини олаяпти ва у ўзлаштириш амали орқали pAge кўрсаткичига ўзлаштирилаяпти.
Бу ҳолатда pAge ўзгарувчисининг қиймати howOld ўзгарувчининг адресига тенгдир. Қараб чиқилган дастур кодидаги охирги икки сатрни битта сатрга бирлаштириш мумкин.
unsigned short int = 50;
unsigned short int * pAge = & howOld;



Download 3,43 Mb.

Do'stlaringiz bilan baham:
1   ...   51   52   53   54   55   56   57   58   ...   79




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