Göstəricinin elanı
Göstərici elan etmək üçün aşağıdakı sintaksisdən istifadə olunur:
tip *göstərici_dəyişənin_adı;
Sintaksisdən göründüyü kimi göstərici elan edərkən adi dəyişənlərin elanı qaydasından istifadə olunur (tip ad;). Fərq yalnız göstəricinin adından əvvəl ulduz - '*' işarəsinin olmasıdır. Eyni sətirdə həm adi, həm də göstərici dəyişənlər elan edə bilərik.
Çalışma 2. int tipindən olan y adlı göstərici elan edin.
Həlli. Göstəricilərin elanı qaydasından istifadə edərək int tipindən olan y adlı göstəricini aşağıdakı kimi elan edə bilərik:
int *y;
Göstəriciyə qiymət mənimsədilməsi
Assembler proqramlaşdırma kursunda fiziki yaddaşın strukturu, prosessorun yaddaşa müraciət imkanları mövzuları zamanı fiziki ünvanın 0-dan böyük - bərabər ədəd olduğu qeyd olunur. Yüksək səviyyəli dillərdə unvanların ədədi qiymətlərindən elə də geniş istifadə olunmur, sadəcə hesab əməlləri zamanı istifadə olunur. Bununla biz irəlidəki mövzularda məşğul olacayıq. Hələlik isə göstəricilərə qiymət mənimsədərkən unvan operatorundan istifadə etməklə hansısa dəyişənin ünvanın və ya başqa bir göstəricinin qiymətin mənimsədə bilərik.
Çalışa 3. int tipli adi x və göstərici y dəyişəni elan edin. Ünvan operatorundan istifadə etməklə x dəyişəninin ünvanını y -ə mənimsədin.
Həlli. Proqram kodu aşağıdakı kimi olar:
int x, *y; y = &x;
Çalışma 4. int tipli adi x dəyişəni, y və z göstəriciləri elan edin. Ünvan operatorundan istifadə etməklə x dəyişəninin ünvanını y -ə mənimsədin. y-in qiymətini (x -in ünvanını) z
-tə mənimsədin.
Həlli.
int x, *y, *z; y = &x;
z = y;
Göstəricinin istinad etdiyi dəyişənə müraciət
Göstəriciyə hər-hansı ünvanı mənimsətdikdən sonra həmin unvanda yerləşən məlumatı asanlıqla oxuyub, dəyişdirmək olar. Bunun üçün göstəricinin adının əvvəlinə ulduz - '*' simvolunu artırmaq tələb olunur.
Çalışma 5. int tipli x dəyişəni və y göstəricisi elan edin. x -in ünvanın y-ə mənimsədin. Göstəricinin istinad etdiyi sahədəki məlumatı çap edin.
Həll. int ipli x dəyişəni və y göstəricisi elanı üçün int x, *y ; kodundan istifadə edək. x -ə 25 qiyməti mənimsədək, x = 25; . y = &x; kodu ilə x -in ünvanın y -ə mənimsədək. y-in istinad etdiyi məlumatı çap etmək üçün cout<< *y ; kodundan istifadə edə bilərik. Yekun proqram kodu aşağıdakı kimi olar:
#include int main(){
int x, *y; x = 25;
y = &x; std::cout<< *y ;
}
Çalışma 6. int tipli x dəyişəni və y göstəricisi elan edin. x -in ünvanın y-ə mənimsədin. Göstəricinin istinad etdiyi sahədəki məlumatı dəyişdirin. Dəyişikliyi yoxlayın.
Həlli. Yenı Çalıma 5 -dəki kimi y -ə x -in ünvanın mənimsədək. Əvvəlcə x-ə 25 qiyməti mənimsədək. Daha sonra * simvolundan istifadə etməklə y-in istinad etdiyi sahəyə hər- hansı qimyət yazaq, misal üçün 40, aşağıdakı kimi *y = 40;. y göstəricisi x -ə istinad etdiyindən bu zaman x -in 40 olar. Bunu yoxlamaq üçün *y = 40; əməliyyatından əvvəl və sonra x -in qiymətini çap edək. Proqram kodu aşağıdakı kimi olar.
#include int main(){
int x, *y; x = 25;
y = &x;
std::cout<< " *y = 40; -dan evvel x = " << x ;
*y = 40;
std::cout<< " *y = 40; -dan sonra x = " << x ;
}
Dostları ilə paylaş: |