ko‘rsatkichlar (dasturlash)

DOC 49,0 КБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1
1452788718_63492.doc ko‘rsatkichlar (dasturlash) reja: 1. ko‘rsatkichlar haqida. 2. ko‘rsatkichlarni e’lon qilish. 3. ko‘rsatkichlar ustida amallar. 4. ko‘rsatkichlar va massivlar. 5. funksiyaga ko‘rsatkich. ko‘rsatkichlar. 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: * = 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 …
2
lar 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 qo‘shish va ayirish binar operatsiyalarida ko‘rsatkich va int turining qiymati ishtirok etishi mumkin. bu operatsiya natijasida ko‘rsatkich qiymati dastlabkisidan ko‘rsatilgan elementlar soniga ko‘proq yoki kamroq bo‘ladi. misol: int*ptr1, *ptr2, a[10]; int i=2; ptr1=a+(i+4); /* = a[6]*/ elementining adresiga ptr2=ptr1-i; /* = a[4]*/ elementining adresiga ayirish operatsiyasida bitta turga mansub bo‘lgan ikkita ko‘rsatkich ishtirok etishi mumkin. operatsiya natijasi int turiga ega hamda kamayuvchi va ayiruvchi o‘rtasidagi dastlabki tur elementlarining soniga teng, bundan tashqari agar birinchi adres kichikroq bo‘lsa, u holda natija manfiy qiymatga ega bo‘ladi. misol: int …
3
. konstanta ko‘rsatkich qiymatini o‘zgartirish mumkin emas lekin * amali yordamida xotiradagi ma’lumot qiymatini o‘zgartirish mumkin. misol uchun *key_byte=’yo’ amali 1047(0x0417) adres qiymati bilan birga klaviatura xolatini ham o‘zgartiradi. konstantaga ko‘rsatkich quyidagicha ta’riflanadi: const* = . misol uchun const int zero=0; int const* p=&zero; bu ko‘rsatkichga * amalini qo‘llash mumkin emas, lekin ko‘rsatkichning qiymatini o‘zgartirish mumkin. qiymati o‘zgarmaydigan konstantaga ko‘rsatkichlar quyidagicha kiritiladi: const* const = . misol uchun const float pi=3.141593; float const* const pp=π turlashtirilmagan ko‘rsatkich. turlashtirilmagan (tipiklashtirilmagan) ko‘rsatkich void turga ega bo‘lib, ixtiyoriy turdagi o‘zgaruvchi adresi qiymat sifatida berilishi mumkin. maxsus void tipidagi ko‘rsatkichlar ajdodiy ko‘rsatkichlar deb atalib har xil tipdagi ob’ektlar bilan bog‘lanish uchun ishlatiladi. misol uchun: int i=77; float euler=2.18282; void *vp; vp=&i; cout * [ ] misol uchun int *pt[6] ta’rif int tipidagi ob’ektlarga olti elementli massivni kiritadi. ko‘rsatkichlar massivlari satrlar masssivlarini tasvirlash uchun qulaydir. misol uchun familiyalar ro‘yxatini kiritish uchun ikki o‘lchovli massivdan foydalani …
4
asturni bajarish paytida joylashtirilishi mumkin. asosiy farq ushbu usullarni qo‘llashda ko‘rinadi - ularning samaradorligi va moslashuvchanligida. statik joylashtirish samaraliroq, chunki bunda xotirani ajratish dastur bajarilishidan oldin sodir bo‘ladi. biroq bu usulning moslashuvchanligi ancha past, chunki bunda biz joylashtirilayotgan ob’ektning turi va o‘lchamlarini avvaldan bilishimiz kerak bo‘ladi. masalan, matniy faylning ichidagisini satrlarning statik massivida joylashtirish qiyin: avvaldan uning o‘lchamlarini bilish kerak bo‘ladi. noma’lum sonli elementlarni oldindan saqlash va ishlov berish kerak bo‘lgan masalalar odatda xotiraning dinamik ajratilishini talab qiladi. xotirani dinamik va statik ajratish o‘rtasidagi asosiy farqlar quyidagicha: · statik ob’ektlar nomlangan o‘zgaruvchilar bilan belgilanadi, hamda ushbu ob’ektlar o‘rtasidagi amallar to‘g‘ridan-to‘g‘ri, ularning nomlaridan foydalangan holda, amalga oshiriladi. dinamik ob’ektlar o‘z shaxsiy otlariga ega bo‘lmaydi, va ular ustidagi amallar bilvosita, ko‘rsatkichlar yordamida, amalga oshiriladi; · statik ob’ektlar uchun xotirani ajratish va bo‘shatish kompilyator tomonidan avtomatik tarzda amalga oshiriladi. dasturchi bu haqda o‘zi qayg‘urishi kerak emas. statik ob’ektlar uchun xotirani ajratish va bo‘shatish …
5
lgan xotirani bo‘shatish esdan chiqqudek bo‘lsa, bu xotira bekordan-bekorga sarflana boshlaydi, foydalanilmay qoladi, biroq, agar uning ko‘rsatkichi o‘z qiymatini o‘zgartirgan bo‘lsa, uni tizimga qaytarish mumkin emas. bu hodisa xotiraning yo‘qotilishi (utechka pamyati) degan maxsus nom bilan ataladi. pirovard natijada dastur xotira etishmagani tufayli avariya holatida tugallanadi (agar u ancha vaqt ishlayversa). ikki o‘lchovli dinamik massivlar. matritsani shakllantirishda oldin bir o‘lchovli massivlarga ko‘rsatuvchi ko‘rsatkichlar massivi uchun xotira ajratiladi, keyin esa parametrlissiklda bir o‘lchovli massivlarga xotira ajratiladi. misol: int n; cin>>n; double *matr[100]; for (i=0;i (* ko‘rsatkich nomi)(parametrlar spetsifikatsiyasi). misol uchun int (*point) (void). bu ta’rifda qavslar muxim ahamiyatga ega, chunki qavslar yozilmasa bu ta’rif parametrsiz funksiya prototipi deb karaladi. funksiyaga o‘zgaruvchi ko‘rsatkich qiymatlari sifatida, bir xil tipga ega bo‘lgan har xil funksiyalar adreslarini berilishi mumkin. qiymati biror funksiya adresiga teng bo‘lgan funksiyaga o‘zgaruvchi ko‘rsatkich shu funksiyaga murojaat kilish uchun ishlatilishi mumkin. dasturda funksiyaga kostanta ko‘rsatkich ya’ni nomlari orqali va o‘zgaruvchi ko‘rsatkichlar …

Хотите читать дальше?

Скачайте полный файл бесплатно через Telegram.

Скачать полный файл

О "ko‘rsatkichlar (dasturlash)"

1452788718_63492.doc ko‘rsatkichlar (dasturlash) reja: 1. ko‘rsatkichlar haqida. 2. ko‘rsatkichlarni e’lon qilish. 3. ko‘rsatkichlar ustida amallar. 4. ko‘rsatkichlar va massivlar. 5. funksiyaga ko‘rsatkich. ko‘rsatkichlar. 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: * = 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...

Формат DOC, 49,0 КБ. Чтобы скачать "ko‘rsatkichlar (dasturlash)", нажмите кнопку Telegram слева.

Теги: ko‘rsatkichlar (dasturlash) DOC Бесплатная загрузка Telegram