Ko’rsatkichlar ma’lumotlarni emas, balki bu ma’lumotlar joylashgan
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.
#includeusing namespacestd;intmain() {shortinta=1234567;shortint*b; b=&a; cout<//ao‘zgaruvchiningadresi 0x22ff76ni ekrangachiqaradisystem("pause"); } Ko’rsatkichli toifalar yordamida fayllarga ham murojaat qilsa bo’ladi, masalan quyida f.txt faylidagi ma’lumotlarni ekranga chiqarish dasturi keltirilgan:
#include #includeusingnamespacestd;intmain() { FILE *p; chars;inti=0;if((p=fopen("f.txt","r"))==NULL) icout<<"o'xshamadi"; else cout<<"ulandi\n";while(s!=EOF){ s=fgetc(p);if(s=='s')i++;cout< } fclose(p);cout<<"sharfi"<qatnashgan”;system("pause"); } xt fayli tarkibi: c++ tilidafayllarbilan
ishlashdasturi Dastur natijasi:
ulandi c++ tilidafayllarbilan ishlashdasturi sharfi3 martaqatnashgan