182
using namespace std;
int main( )
{
int n, m, *x; n=123;
x=&n; cout <
m=*x; cout <
system(―pause‖);
return 0;
}
Dastur natijasi quyidagicha bo‗ladi:
0x28ff44
123
Dasturda quyidagicha o‗zgarishlar qilinsa
ham natijasida hech qanday
o‗zgarish bo‗lmaydi.
int n=123;
int *x=&n; cout<
yoki
int x=123;
int*x (&n); cout <
Har ikkala holda ham x ga boshlang‗ich qiymat sifatida n o‗zgaruvchining
xotiradagi adresi, m o‗zgaruvchiga esa n o‗zgaruvchi ko‗rsatilgan adresdagi
qiymati boshlang‗ich qiymat sifatida berilmoqda.
C++ dasturlash tilida tuzilgan dastur tarkibidagi o‗zgaruvchilar,
o‗zgarmaslar va funksiyalar adreslarini kompyuter xotirasiga
alohida saqlash va
ular ustida amallar bajarish mumkin.
Ta‘rif: Qiymatlari adres bo‗lgan o‗zgaruvchilar ko‗rsatkich o‗zgaruvchilar
deb ataladi.
Ko‗rsatkichlar uch xil turda bo‗ladi:
-Funksiyaga ko‗rsatkich;
-Obyektga o‗zgaruvchiga ko‗rsatkich;
-Void ko‗rsatkich.
Ko‗rsatkichlar, albatta, birorta turga bog‘langan bo‗ladi, ya‘ni u ko‗rsatgan
adresda ma‘lum bir qiymat joylashishi mumkin
va bu qiymat kompyuter
xotirasidan qancha joy egallashi oldindan ma‘lum bo‗lishi kerak.
Funksiyaga ko„rsatkich
183
Funksiyaga ko‗rsatkich programma joylashgan
xotiradagi funksiya kodini
boshlang‘ich adresini ko‗rsatadi, ya‘ni funksiya chaqirilganda boshqaruv ayni shu
adresga uzatiladi. Bunda funksiya nomi bo‗yicha emas,
balki funksiyaga
ko‗rsatuvchi o‗zgaruvchi orqali chaqiriladi. Funksiyani
boshqa funksiyaga
argument sifatida uzatish ham funksiya ko‗rsatkichi orqali bajariladi. C++
dasturlash tilida funksiya ko‗rsatkichining yozilishi quyidagicha.