funksiyalarda argument sifatida local, global o’zgaruvchilardan va havolalardan foydalanish

PPT 1.2 MB Free download

Page preview (5 pages)

Scroll down 👇
1
1691150868.ppt java o’zi nima? oydt java sintaksisi java da tiplar funksiyalarda argument sifatida local, global o’zgaruvchilardan va havolalardan foydalanish reja: funksiya prototiplari; lokal va global parametrlar(o’zgaruvchilar); xulosa. funksiya prototiplari programmada ishlatiladigan har qanday funksiya e'lon qili-nishi kerak. odatda funksiyalar e'loni sarlavha fayllarda e'lon qilinadi va #include direktivasi yordamida programma matniga qo‘shiladi. funksiya e'lonini funksiya prototipi tavsiflaydi (ayrim hollarda signatura deyiladi). funksiya prototipi quyidagi ko‘rinishda bo‘ladi ( ); funksiya prototiplariga misollar: int almashsin(int,int); double max(double x,double y); void func(); void chop_etish(void); * ko‘rinish sohasi. lokal va global o‘zgaruvchilar o‘zgaruvchilar funksiya tanasida yoki undan tashqarida e'lon qilinishi mumkin. funksiya ichida e'lon qilingan o‘zgaruvchilarga lokal o‘zgaruvchilar deyiladi. bunday o‘zgaruvchilar xotiradagi prog-ramma stekida joylashadi va faqat o‘zi e'lon qilingan funksiya tanasida amal qiladi. boshqaruv asosiy funksiyaga qaytishi bilan lokal o‘zgaruvchilar uchun ajratilgan xotira bo‘shatiladi (o‘chiriladi). o‘zgaruvchi amal qilish sohasidan chiqqanda ko‘rinmay qoladi. ikkinchi tomondan, o‘zgaruvchi amal qilish sohasida bo‘lishi, lekin ko‘rinmas-ligi mumkin. bunda ko‘rinish …
2
qiymatini programmaning ixtiyoriy joyidan o‘zgartirish xavfi mavjudligi sababli programma ishlashida mazmunan xatolar yuzaga kelishi mumkin. bu fikrimizni tasdiqlovchi programmani ko‘raylik. * :: amali yuqorida qayd qilingandek, lokal o‘zgaruvchi e'loni xuddi shu nomdagi global o‘zgaruvchini «berkitadi» va bu joydan global o‘zgaruvchiga murojat qilish imkoni bo‘lmay qoladi. c++ tilida bunday holatlarda ham global o‘zgaruvchiga murojat qilish imkoniyati saqlanib qolingan. buning uchun «ko‘rinish sohasiga ruxsat berish» amalidan foydalanish mumkin va o‘zgaruvchi oldiga ikkita nuqta - «::» qo‘yish zarur bo‘ladi. misol tariqasida quyidagi programani keltiramiz: * :: amali yuqorida qayd qilingandek, lokal o‘zgaruvchi e'loni xuddi shu nomdagi global o‘zgaruvchini «berkitadi» va bu joydan global o‘zgaruvchiga murojat qilish imkoni bo‘lmay qoladi. c++ tilida bunday holatlarda ham global o‘zgaruvchiga murojat qilish imkoniyati saqlanib qolingan. buning uchun «ko‘rinish sohasiga ruxsat berish» amalidan foydalanish mumkin va o‘zgaruvchi oldiga ikkita nuqta - «::» qo‘yish zarur bo‘ladi. misol tariqasida quyidagi programani keltiramiz: * xotira sinflari o‘zgaruvchilarning ko‘rinish sohasi va amal …
3
hta moduldan iborat bo‘lsa, ular qandaydir o‘zgaruvchi orqali o‘zaro qiymat almashishlari mumkin (fayllar orasida). buning uchun o‘zgaruvchi birorta modulda global tarzda e'lon qilinadi va u boshqa faylda (modulda) ko‘rinishi uchun u yerda extern modifikatori bilan e'lon qilinishi kerak bo‘ladi. extern modifikatori o‘zgaruvchini boshqa faylda e'lon qilinganligini bildiradi. int main() { bayroq_almashsin(); if(bayroq) cout #include #include extern bool bayroq; * statik o‘zgaruvchilar statik o‘zgaruvchilar static modifikatori bilan e'lon qilinadi va o‘z xususiyatiga ko‘ra global o‘zgaruvchi-larga o‘xshaydi. agar bu turdagi o‘zgaruvchi global bo‘lsa, uning amal qilish sohasi - e'lon qilingan joydan programma matnining oxirigacha bo‘ladi. agar statik o‘zgaruvchi funksiya yoki blok ichida e'lon qilinadigan bo‘lsa, u funksiya yoki blokka birinchi kirishda initsializatsiya qilinadi. o‘zgaruvchining bu qiymati funksiya keyingi chaqirilganida yoki blokka qayta kirishda saqlanib qoladi va bu qiymatni o‘zgartirish mumkin. statik o‘zgaruvchilarni tashqi deb e'lon qilib bo‘lmaydi. agar statik o‘zgaruvchi initsializatsiya qilinmagan bo‘lsa, uning birinchi murojatdagi qiymati 0 hisoblanadi. misol tariqasida birorta …
4
modifikatorli o‘zgaruvchini registrga joylashtirishga harakat qilmaydi. bunday o‘zgaruvchilar e'loniga misol quyida keltirilgan: volatile short port_1; volatile const int adress=0x00a2; misoldan ko‘rinib turibdiki, volatile modifikatorli o‘zgarmas ham e'lon qilinishi mumkin. * nomlar fazosi agar programmada yangi identi-fikatorni aniqlash kerak bo‘lsa va xuddi shu nomni boshqa modul-larda yoki kutubxonalarda ishlatishi xavfi bo‘ladigan bo‘lsa, bu identifikatorlar uchun o‘zining shaxsiy nomlar fazosini aniqlash mumkin. bunga namespace kalit so‘zidan foydalanilgan holda erishiladi: namespace { // e’lonlar } * nomlar fazosi nomlar fazosi ichida e'lon qilingan identifikatorlar faqat ko‘rinish sohasida bo‘ladi va yuzaga kelishi mumkin bo‘lgan kelishmovchiliklarning oldi olinadi. misol tariqasida quyidagi nomlar fazosini yarataylik: namespace shaxsiy_nomlar { int x,y,z; void mening_funksiyam(char belgi); } * nomlar fazosi kompilyatorga konkret nomlar fazosidagi nomlarni ishlatish kerakligini ko‘rsatish uchun ko‘rinish sohasiga ruxsat berish amali-dan foydalanish mumkin: shaxsiy_nomlar::x=5; agar programma matnida konkret nomlar fazosiga nisbatan ko‘p murojaat qilinadigan bo‘lsa using namespace qurilmasini ishlatish orqali yozuvni soddalashtirish mumkin: using namespace ; …
5
e'lon qilinishi mumkin emas, lekin ular boshqa nomlar fazosi ichida e'lon qilinishi mumkin. ichma-ich joylashgan nomlar fazosidagi identifikatorga murojaat qilish uchun uni qamrab olgan barcha nomlar fazosi nomlar ketma-ket ravishda ko‘rsatilishi kerak. misol uchun, quyidagi ko‘rinishda nomlar fazosi e'lon qilingan bo‘lsin: namespace yuqori {... namespace urta {... namespace ichki {int ichki_n;} }} ichki_n o‘zgaruvchisiga murojaat quyidagi ko‘rinishda bo‘ladi: yuqori::urta::ichki::ichki_n=0; * joylashtiriladigan (inline) funksiyalar odatda funksiyani chaqirish protsessor tomonidan qo‘shimcha vaqt va xotira resurslarini talab qiladi. shu sababli, agar chaqiriladigan funksiya hajmi unchalik katta bo‘lmagan hollarda, kompilyatorga funksiyani chaqirish kodi o‘rniga funksiya tanasini o‘zini joylashtirishga ko‘rsatma berish mumkin. bu ish funksiya prototipini inline kalit so‘zi bilan e'lon qilish orqali amalga oshiriladi. natijada hajmi oshgan, lekin nisbatan tez bajariladigan programma kodi yuzaga keladi. * xulosa funksiyaga qiymat uzatish cuhun parametrlardan foydalaniladi. funksiyada masala qo’yilishiga qarab o’zgaruvchilar lokal yoki global etib e’lon qilinadi. inline funksiya - murojat yo’llarini kamaytirib natija codini joylashtiradi.

Want to read more?

Download the full file for free via Telegram.

Download full file

About "funksiyalarda argument sifatida local, global o’zgaruvchilardan va havolalardan foydalanish"

1691150868.ppt java o’zi nima? oydt java sintaksisi java da tiplar funksiyalarda argument sifatida local, global o’zgaruvchilardan va havolalardan foydalanish reja: funksiya prototiplari; lokal va global parametrlar(o’zgaruvchilar); xulosa. funksiya prototiplari programmada ishlatiladigan har qanday funksiya e'lon qili-nishi kerak. odatda funksiyalar e'loni sarlavha fayllarda e'lon qilinadi va #include direktivasi yordamida programma matniga qo‘shiladi. funksiya e'lonini funksiya prototipi tavsiflaydi (ayrim hollarda signatura deyiladi). funksiya prototipi quyidagi ko‘rinishda bo‘ladi ( ); funksiya prototiplariga misollar: int almashsin(int,int); double max(double x,double y); void func(); void chop_etish(void); * ko‘rinish sohasi. lokal va global o‘zgaruvchilar o‘zgaruvchilar funksiya tan...

PPT format, 1.2 MB. To download "funksiyalarda argument sifatida local, global o’zgaruvchilardan va havolalardan foydalanish", click the Telegram button on the left.

Tags: funksiyalarda argument sifatida… PPT Free download Telegram