Avvalgi darslarda qiymatni hotiradan chaqirib olish uchun yoki qiymat berish uchun ma’lum bir ma’lumot turiga tegishli o’zgaruvchilardan foydalandik. C++ tilida hotira har birining hajmi bir byte bo’lgan ketma-ket xonalar sifatida tushuniladi. Har bir xonaning o’zining manzili bo’ladi va manzilllar ketma-ket ko’rinishda keladi. Masalan 100- manzilga ega bo’lgan hotiradan oldin 99-manzilga ega xona undan so’ng esa 101-manzilga ega hotira xonasi bo’ladi.
Ampersand (&) operatori.
Hotira manzilini olish uchun c++ tilida ‘&’ belgidan foydalaniladi. Uning qo’llanilishini qisqa misol orqali ko’ramiz.
a=9;
b=&a;
c=a;
Yuqoridagi misolda sonli o’zgaruvchi manzilini b ga o’zlashtirayapmiz. Ya’ni ‘&’ operatori bizga a o’zgaruvchining manzilini qaytarayapti(qiymatini emas). Uchinchi qatorda esa boshqa sonli o’zgaruvchiga a ning qiymatini o’zlashtirayapmiz(ya’ni 9 ni). b va c ning farqi shuki, c++ tilida manzil qiymatini ko’rsatkich deb nomlanuvchi o’zgaruvchilar saqlaydi. Demak ikkinchi qatordagi manzil aynan ko’rsatkich o’zgaruvchisiga o’zlashadi.
(*) operatori
Ko’rsatkichlarning qiziq xususiyati shuki ular yordamida faqat manzil emas, balki o’sha manzildagi o’zgaruvchi qiymatini ham olish imkoni bor. Bu narsa * (dereference) operatori yordamida amalga oshiriladi. Yuqoridagi misolda b ko’rsatkichining qiymatini olish uchun quyidagi amalni bajaramiz:
c= *b; // c ga 9 qiymati o’zlashdi
yoki boshqacha qilib aytganda “c o’zgaruvchisi b ko’rsatkich ko’rsatib turgan manzil qiymatiga teng”
Shuhrat Akramovning so'nngi maqolalari (hammasini ko'rish)
- C++ qadamlari. Ko’rsatkichlar(2). - 26/04/2016
- Android 6.0 dan ba’zi yangiliklar - 14/04/2016
- C++ qadamlari. Ko’rsatkichlar (1). - 04/08/2015
Rahmat ! foydali ma’lumotlar uchun . Faoliyatinglarga rivoj tilayman!
faqat to’tab qolmanglar
Spasibo brat
Bro yana nimadur topsez saytga qoyvurin