Laboratoriya Yaddaş ünvanları ilə iş. Göstəricilər və istinadlar



Yüklə 84,39 Kb.
səhifə2/6
tarix07.03.2023
ölçüsü84,39 Kb.
#123882
1   2   3   4   5   6
lab 1. Göstəricilər və ünvanlar

#include
using namespace std;
int main (){
int x,y;
cout << "x -in unvani = " << &x ;
cout<
cout << "y -in unvani = " << &y ;
Nəticə
x -in unvani = 0х28feac
y -in unvani = 0х28fea8
Hər dəfə ünvanlar fərqli olur.
Göstəricilər
Yaddaş ünvanı proqramlaşdırmada mühüm məsələdir. Hər hansı dəyişənin ünvanın bilməklə onda olan məlumatı oxumaq, dəyişmək və başqa bir yerə ötürmək mümkündür. Adətən məlumatın ölçüsü böyük olduğu hallarda məlumatın özünü bir yerdən başqa yerə köçürməyə çox vaxt sərf olunur. Belə hallarda məlumatın yaddaşdakı ünvanın ötürmək çox əlverişlidir. C++ dilində ünvanla işləmək üçün göstəricilərdən istifadə olunur. Göstəricilər də biz bildiyimiz adi dəyişənlər kimidir. Fərq yalnız ondan ibarətdir ki, göstəricilər özlərində qiymət olaraq ünvan yadda saxlayırlar. Aşağıdakı təsvirdən də bunu anlamağa çalışaq.




Göstəricilərin elanı. Göstəricilər də adi dəyişənlərlə birlikdə eyni elan sətrində elan oluna bilər. Göstəricilərin adının əvvəlinə onların göstərici olduqlarını bildirmək üçün ulduz simvolu artırmaq tələb olunur:
tip *gosterici;
Misal üçün int tipli x adlı göstərici elan etmək istəsək elan aşağıdakı kimi olar:
int *x;
Eyni elan sətrində həm adi dəyişən, həm də göstərici elan edə bilərik:
int *x, y, *z, q;
Yuxarıdakı elan sətrində int tipindən olan x,z göstəriciləri və y,q dəyişənləri elan olunub. Digər tiplərdən də göstəricilər eyni qayda ilə elan olunur, nümunəyə baxaq:
char *s;
float *r;
Yuxarıda char tipli s, float tipli r göstəriciləri elan olunub.
Göstəriciyə ünvan mənimsədilməsi. Göstərici elan etdikdən sonra ona ünvan mənimsədə bilərik. Lakin diqqətdə saxlamayıq ki, hər bir göstəriciyə yalnız onun öz tipindən olan dəyişənin ünvanın mənimsədə bilərik. Yəni int tipli göstəriciyə, char tipli dəyişənin ünvanın mənimsədə bilmərik, elə int tipli dəyişənin ünvanın mənimsətməliyik. Dəyişənin ünvanın nə cür əldə edəcəyimizi bilirik – ünvan operatoru vastəsilə - &.
Tutaq ki, int tipli hər hansı x dəyişəni və y göstəricisi elan etmişik.
int x, *y;
Yaddaşda ayrılan yeri aşağıdakı kimi təsvir edək:

göstəricisinin istinad elədiyi ünvan ox ilə bildirilir. Elan olunan zaman göstəricinin hansı ünvana istinad elədiyi məlum olmadığına görə təsvirdə o göstərilməyib.
Ünvan operatorundan istifadə etməklə y göstəricisinə x dəyişəninin ünvanını aşağıdakı kimi mənimsədə bilərik:

Yüklə 84,39 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin