|
Xotirani taqsimlash usullari, massivlarning tasvirlanishi, ularning afzalliklari va kamchiliklari
|
bet | 8/78 | Sana | 19.02.2024 | Hajmi | 209,36 Kb. | | #158808 |
Bog'liq Tizimli dasturlash javoblar Xotirani taqsimlash usullari, massivlarning tasvirlanishi, ularning afzalliklari va kamchiliklari.
12
Generatsiya etapining yana asosiy vazifalaridan biri – bu xotirani taqsimlashdir. Bu yerda statik yoki dinamik taqsimlash usullari ishlatiladi. Birinchi usul xotirani translyatsiya jarayonida taqsimlashni talab qiladi. Agar programma obektlarning paydo bo’lishi va aktivlanishi ma’lum bo’lmasa dinamik taqsimlash usulidan foydalanadilar.
Statik xotirani taqsimlashda ajratilgan xotira aniqlanadi. Xotira ajratilgandan so'ng uni o'zgartirish mumkin emas. Xotirani oshirish yoki kamaytirish mumkin emas. Masalan, C tilida dasturchi int x yozsa, bu o'zgaruvchida butun son saqlanishi mumkin degani. Baytlar
soni kompyuterga bog'liq. Bundan tashqari, massivlar ham bo'lishi mumkin. Masalan, int x [5]; Bu x bir xil turdagi ma'lumotlar ketma-ketligini saqlashi mumkin bo'lgan massivdir. U beshta butun elementni saqlashi mumkin. U beshtadan ortiq elementni saqlay olmaydi. Java- da qator yaratilishi mumkin, int arr [] = new int [5]; "Arr" massivi 5 ta tamsayı qiymatini
saqlashi mumkin va bundan ortig'ini saqlay olmaydi. Statik xotirani taqsimlashda o'zgaruvchilar ajratilgandan so'ng ular doimiy bo'lib qoladi. Dastlabki ajratilgandan so'ng, dasturchi xotiraning o'lchamini o'zgartira olmaydi.
Ba'zan xotira hajmini o'zgartirish kerak bo'ladi. Shunday qilib, xotirani dinamik ravishda ajratish mumkin. Ma'lumotlar elementlarining kiritilishi va o'chirilishiga qarab, xotira o'sishi yoki qisqarishi mumkin. Bu xotirani dinamik ajratish deb nomlanadi. Xotirani dinamik ravishda taqsimlashning asosiy ustunligi shundaki, u xotirani tejaydi. Dasturchi xotirani ajratishi yoki kerak bo'lganda xotirani bo'shatishi mumkin. Xotira bajarish paytida qayta taqsimlanishi mumkin va kerak bo'lmaganda xotirani bo'shatishi mumkin. Xotirani dinamik ravishda taqsimlash statik xotirani taqsimlashdan ham samaraliroq. Kamchiliklardan biri shundaki, xotirani dinamik ravishda taqsimlashni amalga oshirish murakkabdir.
|
| |