• Murakkab turlar
  • Calculate(5); } static void Calculate




    Download 5,29 Mb.
    bet96/154
    Sana08.01.2024
    Hajmi5,29 Mb.
    #131939
    1   ...   92   93   94   95   96   97   98   99   ...   154
    Bog'liq
    Majmua

    Calculate(5);
    }
    static void Calculate(int t)
    {
    int x = 6;
    int y = 7;
    int z = y + t;
    }
    }

    Ushbu Calculate() metodini chaqirish t, x, y va z qiymatlarini stekga jo‘natadi. Ular berilgan metod tanasida aniqlanadi. Metod ishini tugatgach, stek uchun ajratilgan xotira maydoni keyinchalik boshqa metodlar bilan ishlatilishi mumkin.
    Bundan tashqari, agar metod parametri yoki o‘zgaruvchisi qiymat turini ifodalasa, ushbu parametr yoki o‘zgaruvchining bevosita qiymati stekda saqlanadi. Masalan, Calculate() metodining o‘zgaruvchilari va parametrlari qiymat turi - int turini ifodalaydi, shuning uchun ularning sonli qiymatlari stekda saqlanadi.
    Havola turlar bir xil bo‘lmagan obyektlarning tartibsiz to‘plami sifatida ko‘rib chiqilishi mumkin bo‘lgan to‘pda saqlanadi. Havola turdagi obyekt yaratilganda, stekga to‘pdagi manzilga havola joylashtiriladi. Agar mos havola turidagi obyekt endi ishlatilmasa, avtomatik xotira tozalash ishga tushadi: u to‘pda obyektga boshqa havolalar yo‘qligini ko‘radi, bu obyektni shartli ravishda o‘chiradi va xotirani tozalaydi, ya’ni ushbu xotira segmenti boshqa ma’lumotlarni saqlash uchun ishlatilishi mumkin.
    Shunday qilib, agar Calculate metodini quyidagicha o‘zgartirilsa:
    static void Calculate(int t)
    {
    object x = 6;
    int y = 7;
    int z = y + t;
    }
    Endi x o‘zgaruvchisining qiymati to‘pda saqlanadi, chunki u obyektga havola turini ifodalaydi va stek obyektga havolani to‘pda saqlaydi.

    Murakkab turlar
    Endi qiymat turi va mos havola turi murakkab turlarni - struktura va sinfni ifodalovchi holatni ko‘rib chiqamiz:
    // Davlat strukturasi, uning ma’lumotlari stekga joylashtiriladi
    Davlat davlat1 = new Davlat();
    // Mamlakat sinfi, havola stekga joylashtiriladi va mamlakat1 obyektining barcha ma’lumotlari to‘pda joylashadi
    Mamlakat mamlakat1 = new Mamlakat(); 

    Download 5,29 Mb.
    1   ...   92   93   94   95   96   97   98   99   ...   154




    Download 5,29 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Calculate(5); } static void Calculate

    Download 5,29 Mb.