|
“Dasturiy injiniring” fakulteti “MA‟lumotlar tuzilmasi va algoritmlar”Bog'liq b2d1fe5c-9484-4aea-a5e7-95281604b19a
1.3.2. Ko
„
rsatkichli toifa
Ko„rsatkichlar ma‟lumotlarni emas, balki bu ma‟lumotlar joylashgan
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
18
#include
using namespace std;
int main()
{
FILE *p;
char s;int i=0;
if((p=fopen("f.txt","r"))==NULL)
i cout<<"o'xshamadi";
else cout<<"ulandi\n";
while(s!=EOF){
s=fgetc(p);
if(s=='s')i++;
cout<
}
fclose(p); cout<<"s harfi "<
system("pause");
}
f.txt fayli tarkibi:
c++ tilida fayllar
bilan
ishlash dasturi
Dastur natijasi:
ulandi
c++ tilida fayllar
bilan
ishlash dasturi
s harfi 3 marta qatnashgan
|
| |