Кўрсаткич – бу компютер хотираси ячейкаcининг адреси ёзилган ўзгарувчидир.
Кўрсаткичлар қандай ишлашини билиш учун машина хотираси ташкил этилишининг таянч принципларини билишимиз лозим. Машина хотираси номерланган ячейкалар кетма-кетлигидан иборатдир. Ҳар бир ўзгарувчининг қиймати унинг адреси деб аталувчи алоҳида хотира ячейкасида сақланади. 8.1.- расмда theAge номидаги, хотирадан тўрт байт жой эгаллайдиган бутун қийматли ўзгарувчининг хотирада ифодаланиши кўрсатилган.
8.1. – расм. TheAge ўзгарувчининг хотирада сақланиши
Турли компютерларда хотирани адреслаш турлича қоида асосида ташкил этилади. Кўп ҳолларда дастурчилар учун бирор бир ўзгарувчини аниқ адресини билиш зарур эмас. Зарурат туғилганда бундай ахборотни адрес оператори (&) ёрдамида олиш мумкин. Бу операторнинг қўлланилишига мисол 8.1. – листингда келтирилган.
8.1. – листинг. Адрес оператори .
#inсlude < iostheam.h >
int main()
{
unsigned short shortVar = 5;
unsigned long longVar = 65535;
long sVar = - 65535;
cout << “shortVar :\t” << shortVar ;
cout << “Address of shortVar:\t” ;
cout<<&shortVar<< “\n”;
cout << “longVar :\ t” << longVar ;
cout << “ Address of LongVar: \ t” ;
cout<< &longVar<< “\n”;
cout << “ sVar :\t” << sVar;
cout << “Address of sVar:\t”;
cout << &sVar <<“\n” ;
return 0;
}
НАТИЖА:
shortVar : 5 Address of shortVar : 0х8fc9:fff4
longVar:65535 Address of longVar: 0х8fc9:fff2
sVar: -65535 Address of sVar : 0х8fc9:ffee.
ТАҲЛИЛ
Дастурнинг бошида учта ўзгарувчи эълон қилинади ва уларга қиймат ўзлаштирилади: 4– сатрда unsigned short типида, 5- сатрда unsigned long типида ва 6 – сатрда long типида. Кейин эса 8 – 18 – сатрларда бу ўзгарувчиларнинг қийматлари ва адрес оператори (&) ёрдамида олинган адреслари ҳақида маълумотлар чиқарилади. Дастур ишга туширилиши билан 80386 процессорли компьютерда shortVar ўзгарувчиси қиймати 5 га, унинг адреси эса 0х8fc9:fff4 тенглиги аниқланади. Ўзгарувчини жойлашиш адреси компютер орқали танланади ва у дастурнинг навбатдаги ишга туширилишида ўзгариши мумкин. Шунинг учун сизнинг натижаларингиз олдингиларидан фарқ қилиши мумкин. Лекин биринчи ва иккинчи ўзгарувчиларнинг адреслари фарқи доимо ўзгармай қолади. short типи икки байт жой эгаллашидан бу фарқ 2 байтни ташкил этади. Иккинчи ва учинчи адреслар орасидаги фарқ 4 байтни ташкил этади. Ҳақиқатан ҳам long типидаги ўзгарувчи тўрт байт жой эгаллайди. Бу ўзгарувчиларни хотирага жойлаштириш тартиби 8.2. – расмда келтирилган.
8.2. – расм. Ўзгарувчининг хотирада сақланиш схемаси
Do'stlaringiz bilan baham: |