Reja: I. Kirish II. Asosiy qism



Yüklə 120 Kb.
səhifə5/8
tarix17.03.2023
ölçüsü120 Kb.
#88420
1   2   3   4   5   6   7   8
Dinamik hotira yaratish va undan foydalanish

statik o'zgaruvchilar tavsifida static so'zini o'z ichiga olgan o'zgaruvchilar. Qoida tariqasida, statik o'zgaruvchilar e'lon qilinadi tashqi funktsiyalar. Bunday statik o'zgaruvchilar har jihatdan global o'zgaruvchilarga o'xshaydi, bitta istisno: statik o'zgaruvchining doirasi u aniqlangan bitta fayl bilan cheklangan - va bundan tashqari, u faqat e'lon qilinganidan keyin ishlatilishi mumkin, ya'ni. matnda quyida. Shu sababli, statik o'zgaruvchilar deklaratsiyasi odatda faylning boshida joylashtiriladi. Global o'zgaruvchilardan farqli o'laroq, statik o'zgaruvchilar hech qachon h-fayllarda tasvirlanmagan (tashqi va statik modifikatorlar bir-biriga zid keladi). Maslahat: statik oʻzgaruvchilardan faqat ichida tasvirlangan funksiyalar uchun mavjud boʻlishini istasangiz foydalaning bir xil fayl. Iloji bo'lsa, bunday vaziyatlarda global o'zgaruvchilardan foydalanmang, bu yuzlab fayllardan iborat yirik loyihalarni amalga oshirishda nom ziddiyatlarini oldini oladi.

  • Statik o'zgaruvchini funksiya ichida ham e'lon qilish mumkin, lekin odatda buni hech kim qilmaydi. O'zgaruvchi stekda emas, balki statik xotirada, ya'ni. uni rekursiyada ishlatib bo'lmaydi va uning qiymati funksiyaga turli kiritishlar orasida saqlanadi. Bunday o'zgaruvchining doirasi u aniqlangan funktsiya tanasi bilan chegaralanadi. Aks holda, u statik yoki global o'zgaruvchiga o'xshaydi. e'tibor bering, bu kalit so'z C da statik ikki xil maqsadda ishlatiladi:

    • xotira turining ko'rsatkichi sifatida: o'zgaruvchi stekda emas, balki statik xotirada joylashgan;

    • bitta fayl ichida o'zgaruvchining doirasini cheklash usuli sifatida (funktsiyadan tashqarida o'zgaruvchi deklaratsiyasida).

  • Static so'zi funksiyaning sarlavhasida ham paydo bo'lishi mumkin. Biroq, u faqat funktsiya nomining doirasini bitta fayl bilan cheklash uchun ishlatiladi. Misol:

    statik int gcd(int x, int y); // Funktsiya prototipi. . . static int gcd(int x, int y) ( // Amalga oshirish... )
    Maslahat: foydalaning statik modifikator funktsiya sarlavhasida, agar funktsiya faqat bitta fayl ichida chaqirilishi ma'lum bo'lsa. Static so'zi funksiya prototipi tavsifida ham, u amalga oshirilganda funksiya sarlavhasida ham bo'lishi kerak.


    Yüklə 120 Kb.

    Dostları ilə paylaş:
  • 1   2   3   4   5   6   7   8




    Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
    rəhbərliyinə müraciət

    gir | qeydiyyatdan keç
        Ana səhifə


    yükləyin