Ko’rsatgichlar va ular bilan bajariladigan asosiy amallar
O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI SHAROF RASHIDOV NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI KURS ISHI Mavzu: Ko’rsatgichlar va ular bilan bajariladigan asosiy amallar. Samarqand-2023 Mundarija 1
I.Kirish......................................................................3 II.Asosi qism.............................................................5 1. Ko’rsatkichlar haqida umumiy tushuncha……..9 2. Ko’rsatkichdan foydalanish va uning ta’rifi…..13 3. O’zgaruvchiga ko’rsatkich orqali kirish………15 4. Boshlangich ko’rsatkichlar……………………18 5. Massivlar ko'rsatkichlar o'rnida……………….22 6. Arifmetik ko'rsatkich………………………….24 7. Ko'rsatkichlar - massivning o'zgaruvchanligi…25 III. Xulosa...............................................................26 IV.Foydalanilgan adabiyotlar..................................27 2
I. Kirish. Ko’rsatkich yordamida, joylashuvi farqlanishi mumkin. Bu hislat ko’p foydali taminga ega. Ko’rsatkichlar yordamida programmani turli qismlarini har hil ma’nolar almashuviga qarab ishlatishi mumkin. Undan tashqari 10 - bobda ko’rishiz mumkinki, ko’rsatkichlar programma tuzishda muhim ahamiyatga ega, bular obektlarni bog’liq turlarini boshqaradi. Bu bobda siz ko’rsatkichdan qanday foydalanishni bilib olasiz. Programma matnida o‘zgaruvchi e’lon qilinganda, kompilyator o‘zgaruvchiga xotiradan joy ajratadi. Boshqacha aytganda, programma kodi xotiraga yuklanganda berilganlar uchun, ular joylashadigan segmentning boshiga nisbatan siljishini, ya’ni nisbiy adresini aniqlaydi va ob’ekt kod hosil qilishda o‘zgaruvchi uchragan joyga uning adresini joylashtiradi.Umuman olganda, programmadagi o‘zgarmaslar, o‘zgaruvchilar, funksiyalar va sinf ob’ektlar adreslarini xotiraning alohida joyida saqlash va ular ustidan amallar bajarish mumkin. Qiymatlari adres bo‘lgan o‘zgaruvchilarga ko ‘rsatkich o ‘zgaruvchilar deyiladi. Ko‘rsatkich uch xil turda bo4ishi mumkin: - birorta ob’ektga, xususan o‘zgaruvchiga ko‘rsatkich; - funksiyaga ko‘rsatkich; - void ko‘rsatkich. Ko‘rsatkichning bu xususiyatlari uning qabul qilishi mumkin bo‘lgan qiymatlarida farqlanadi. Ko‘rsatkich albatta birorta turga bogMangan bo4ishi kerak, ya’ni u ko‘rsatgan adresda qandaydir qiymatjoylanishi mumkin va bu qiymatning xotirada qanchajoy egallashi oldindan ma’lum boiishi shart. Funksiyaga ko‘rsatkich. Funksiyaga ko‘rsatkich programma joylashgan xotiradagi funksiya kodining boshlang4ch adresini ko‘rsatadi, ya’ni funksiya chaqirilganda boshqaruv ayni shu adresga uzatiladi. Ko‘rsatkich orqali funksiyani oddiy yoki vositali chaqirish amalga oshirish mumkin. Bunda funksiya uning nomi bo‘yicha emas, balki funksiyaga ko‘rsatuvchi o‘zgaruvchi orqali chaqiriladi. Funksiyani boshqa funksiyaga argument sifatida uzatish ham funksiya ko‘rsatkichi orqali bajariladi. Funksiyaga ko‘rsatkichning yozilish sintaksisi quyidagicha: (* ) (); Bunda - funksiya qaytaruvchi qiymat turi; * - ko‘rsatkich o‘zgaruvchining nomi; - funksiya parametrlarining yoki ulaming turlarining ro‘yxati. Masalan: int (*fun) (float,float); Bu erda butun son turida qiymat qaytaradigan fun nomidagi funksiyaga ko‘rsatkich e’lon qilingan va u ikkita haqiqiy turdagi parametrlarga ega. Integral hisoblash funksiyasiga ko‘rsatkich orqali integrali hisoblanadigan funksiya adresi, a va b - integral chegaralari qiymatlari uzatiladi. Oraliqni bo‘lishlar soni - n global o'zgarmas qilib e’lon qilinadi 3
II. Asosiy qism. 1.Ko’rsatkichlar haqida umumiy tushuncha Ko‘rsatkich - xotira uyasining unikal adresini saqlaydigan o‘zgaruvchi. Ko‘rsatkich operativ xotiradagi biron-bir o‘zgaruvchi mavjud bo‘lishi mumkin bo‘lgan biron-bir joyni belgilaydi. Ko‘rsatkichlarning qiymatlarini o‘zgartirish, turli variantlarda qo‘llash mumkinki, bu dasturning moslashuvchanligini oshiradi.Ko‘rsatkich odatda tipga ega bo‘lib quyidagicha e’lon qilinadi: <turning nomi>*<ko‘rsatkichning nomi>=<dastlabki qiymat> Misol uchun: int *pr; char *alfa; Bu holda ko‘rsatkichlar noaniq qiymatga ega bo‘ladi. Ko‘rsatkichlar ta’riflanganda ularning tiplari ko‘rsatilishi shart. Ko‘rsatkichlarni initsializatsiya kilish ya’ni boshlang‘ich qiymatlarini kiritish mumkin. Ma’lum turdagi biron-bir o‘zgaruvchi adresi yoki NULL qiymat dastlabki qiymat bo‘lishi mumkin. Ko‘rsatkichlarga boshlang‘ich maxsus NULL qiymati berilsa bunday ko‘rsatkich bo‘sh ko‘rsatkich deb ataladi.Biron-bir o‘zgaruvchi adresini olish hamda uni ko‘rsatkichga qiymat sifatida berish uchun «&» operatori qo‘llanadi. Misol: int I=100; int*p=&I; unsigned longint *ul=NULL; Teskari operator - «*» bo‘lib, ko‘rsatkichda saqlanayotgan adres bo‘yicha uya qiymatiga murojaat qilish imkonini beradi. Misol: int I=100; int*p=&I; 4
int J=*p; Ilova tushunchasi. Ilova (ssыlka) – ilova ta’rifirda ko‘rsatilgan ob’ekt nomining sinonimi. Ilovani e’lon qilish shakli tur & ism =ism_ob’ekt; Misollar int x; // o‘zgaruvchining aniqlash int& sx=x; //x o‘zgaruvchiga iqtibosni aniqlash const char & CR='\n'; //konstantaga iqtibosni aniqlash Ilovalar bilan ishlash qoidalari. 1) O‘zgaruvchi ilova, agar u funksiya parametri bo‘lmasa, extern sifatida tavsiflanmagan bo‘lsa yoki sinf maydoniga ilova qilmasa, o‘ziga tavsif berilayotganda ochiq-oydin nomlanishi kerak. 2) Nomlangandan so‘ng, ilovaga boshqa qiymat berilishi mumkin emas. 3) Ilovalarga ko‘rsatkichlar, ilovalar massivlari va ilovalarga ilovalar bo‘lishi mumkin emas. 4) Ilova ustida o‘tkazilgan operatsiya o‘zi ilova qilayotgan qiymatning o‘zgarishiga olib keladi Ko‘rsatkichlar ustida o‘tkaziladigan operatsiyalar. Ko‘rsatkichlar ustida unar operatsiyalar bajarish mumkin: inkrement va dekrement ++ va -- operatsiyalarini bajarishda, ko‘rsatkich qiymati ko‘rsatkich murojaat qilgan tur uzunligiga ko‘payadi yoki kamayadi. Misol: int*ptr, a[10]; ptr=&a[5]; ptr++; */ = a[6]*/ elementining adresiga ptr--; */ = a[5]*/ elementining adresiga 5