17
xotiradagi manzilni o„zida saqlaydi. Ko„rsatkichlar xotirada bor yo„g„i 4
bayt joyni egallab, u ko„rsatayotgan ma‟lumotlar ancha katta joyni egallagan
bo„lishi mumkin. Ko„rsatkichlar qanday ishlashini bilish
uchun mashina xotirasi
tashkil etilishining tayanch prinsiplarini bilish lozim. Mashina xotirasi 16 lik sanoq
sistemasida raqamlangan yacheykalar ketma-ketligidan iboratdir. Har bir
o„zgaruvchining qiymati uning adresi deb ataluvchi alohida xotira yacheykasida
saqlanadi. Ko„rsatkichli toifadagi o„zgaruvchilar o„zida
ana shu kabi
o„zgaruvchilar yoki boshqa ma‟lumotlarning xotiradagi adresini saqlaydilar. C++
da o„zgaruvchini ko„rsatkichli toifada e‟lon qilish uchun o„zgaruvchi nomidan
oldin * belgisi qo„yiladi. Har bir o„zgaruvchining toifasi bilan e‟lon qilingani kabi
ko„rsatkichli o„zgaruvchilar ham ma‟lum bir toifa bilan e‟lon qilinadi. Bunda
ko„rsatkichli o„zgaruvchining toifasi – shu ko„rsatkich ko„rsatayotgan
xotira
yacheykasidagi ma‟lumotning toifasi bilan bir xil bo„lishi kerak. Masalan, int a=1
bo„lsin. Ushbu o„zgaruvchining adresini o„zida saqlovchi b ko„rsatkichli
o„zgaruvchini e‟lon qilishda ham int toifasi ishlatiladi, ya‟ni
int *b. Endi bunday
toifadagi o„zgaruvchiga a o„zgaruvchining adresini o„zlashtirish uchun a ning
oldiga
& - adres operatorini qo„yish zarur, ya‟ni
b=&a.
Misol.
#include
using namespace std;
int main()
{ short int a=1234567;
short int *b;
b=&a;
cout<
system("pause");
}
Ko„rsatkichli toifalar yordamida fayllarga ham murojaat qilsa bo„ladi,
masalan quyida f.txt faylidagi ma‟lumotlarni ekranga chiqarish dasturi keltirilgan:
#include