cpp_logo

C++ qadamlari. Ko’rsatkichlar (1).

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”

(1,242 marta o'qilgan, bugun 1 marta o'qildi)

O'xshash maqolalar:

  • Akbar .M

    Rahmat ! foydali ma’lumotlar uchun . Faoliyatinglarga rivoj tilayman!

  • Akbar .M

    faqat to’tab qolmanglar