Umumiy koʻrinish



Download 388,61 Kb.
bet8/9
Sana12.07.2022
Hajmi388,61 Kb.
#783130
1   2   3   4   5   6   7   8   9
Bog'liq
MirzajonovaMohinurxon 20.08

malloc() - C da xotirani ajratish usuli ko'rsatilgan o'lchamdagi bitta katta xotira blokini dinamik ravishda ajratish uchun ishlatiladi.

  • calloc() - C tilidagi qo'shni ajratish usuli ko'rsatilgan turdagi xotira bloklarining belgilangan sonini dinamik ravishda ajratish uchun ishlatiladi.

  • free() – usul ishlatilayotgan xotirani dinamik ravishda ajratadi. Bu juda muhim, chunki malloc() va calloc() xotirani mustaqil ravishda ajratmaydi. Bu xotirani yo'qotishni kamaytirishga qaratilgan.

  • realloc() - usul allaqachon ajratilgan xotiraning xotira taqsimotini o'zgartiradi. U oldindan ajratilgan xotira yetarli bo'lmagan stsenariylarda qo'llaniladi, shuning uchun realloc xotirani dinamik ravishda qayta taqsimlash uchun ishlatiladi.

    #include
    #include
    int main()
    {
    // pointer stores the
    // base address of the created block
    int* ptr;
    int n, i;
    // store and display the size of the array
    printf("Please enter number of people invited :");
    scanf("%d",&n);
    printf("Invited people- %d\n", n);
    // Dynamic allocation of memory using malloc()
    ptr = (int*)malloc(n * sizeof(int));
    // Check if the memory has been successfully
    // allocated or not
    if (ptr == NULL) {
    printf("Memory not allocated.\n");
    exit(0);
    }
    else {
    // Memory has been successfully allocated
    printf("Memory successfully allocated using malloc.\n");
    // Taking user input of elements of an array
    printf("Number of drinks to be prepared for each table in order: \n");
    for (i = 0; i < n; i++) {
    scanf("%d", ptr+i);
    }
    // Print the elements of the array
    printf("The drinks order: ");
    for (i = 0; i < n; i++) {
    printf("%d, ", ptr[i]);
    }
    }
    /*
    freeing memory of ptr allocated by malloc
    using the free() method
    */
    free(ptr);
    return 0;
    }
    Eslatma : Bu biroz og'ir, lekin konsentrat, biz yana sevimli barimizni olamiz.
    Dinamik xotira ajratish statikdan ko'ra murakkab muammo stsenariylarida keng qo'llaniladi, chunki siz kerakli elementlarning aniq sonini ham bilmasangiz, statik xotira ajratish mumkin, lekin u haqiqatan ham ishlatilmaydigan xotirani isrof qilishi mumkin, bu yaxshi emasligi aniq. amaliyot.
    Misol uchun , biz barimizning bo'lajak yubileyiga tashrif buyuradigan barcha mijozlarning nomi va sonini bilishimiz kerak, shunda ichimliklar uyda bo'lgani uchun mos ravishda tartibga solinishi mumkin, ha , mast bo'lgan odamlar ta'lim maqolalarida misol bo'la oladi, biz 2021 yil . Shunday qilib, biz 45 ta taklif yuborganimiz va xizmat ko'rsatish sig'imimiz 60 ta bo'lgani uchun maksimal o'lcham 60 bo'lishi mumkinligini bilamiz , biz 60 o'lchamli massivni e'lon qilishimiz va ularning nomlarini elementlar sifatida kiritishimiz mumkin, to'g'rimi ? O'sha kuni 15 tasi paydo bo'ldi, shuning uchun 45 ta xotira bloklari aslida bo'sh edi, lekin ajratildi.
    Tasavvur qiling-a, bu miqdor millionlab va faqat yarmi ishlatilsa, shuning uchun biz hajmini bilmaydigan stsenariylarda dinamik xotirani ajratish statik xotira ajratishdan ko'ra samaraliroq amaliyotdir. Boshqa foydalanish holati, bizga foydalanuvchi kiritish orqali elementlarni oladigan massivlar kerak bo'lganda bo'lishi mumkin.

    Download 388,61 Kb.

    Do'stlaringiz bilan baham:
  • 1   2   3   4   5   6   7   8   9




    Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
    ma'muriyatiga murojaat qiling

    kiriting | ro'yxatdan o'tish
        Bosh sahifa
    юртда тантана
    Боғда битган
    Бугун юртда
    Эшитганлар жилманглар
    Эшитмадим деманглар
    битган бодомлар
    Yangiariq tumani
    qitish marakazi
    Raqamli texnologiyalar
    ilishida muhokamadan
    tasdiqqa tavsiya
    tavsiya etilgan
    iqtisodiyot kafedrasi
    steiermarkischen landesregierung
    asarlaringizni yuboring
    o'zingizning asarlaringizni
    Iltimos faqat
    faqat o'zingizning
    steierm rkischen
    landesregierung fachabteilung
    rkischen landesregierung
    hamshira loyihasi
    loyihasi mavsum
    faolyatining oqibatlari
    asosiy adabiyotlar
    fakulteti ahborot
    ahborot havfsizligi
    havfsizligi kafedrasi
    fanidan bo’yicha
    fakulteti iqtisodiyot
    boshqaruv fakulteti
    chiqarishda boshqaruv
    ishlab chiqarishda
    iqtisodiyot fakultet
    multiservis tarmoqlari
    fanidan asosiy
    Uzbek fanidan
    mavzulari potok
    asosidagi multiservis
    'aliyyil a'ziym
    billahil 'aliyyil
    illaa billahil
    quvvata illaa
    falah' deganida
    Kompyuter savodxonligi
    bo’yicha mustaqil
    'alal falah'
    Hayya 'alal
    'alas soloh
    Hayya 'alas
    mavsum boyicha


    yuklab olish