Skirtumas tarp statinės ir dinaminės atminties paskirstymo

Pagrindinis skirtumas - statinis ir dinaminis atminties paskirstymas
 

Programaujant būtina kaupti skaičiavimo duomenis. Šie duomenys saugomi atmintyje. Atminties vietos duomenims saugoti kompiuterio programavimo metu yra žinomos kaip kintamieji. Kintamieji turi tam tikrą duomenų tipą. Todėl atmintis skiriama programoms vykdyti. Atmintį galima paskirstyti dviem būdais. Tai yra statinis atminties paskirstymas ir dinaminis atminties paskirstymas. Skirstant statinę atmintį, paskirta atmintis negali būti pakeista. Atmintis nėra daugkartinė. Bet dinaminės atminties paskirstymo metu, kai paskirta atmintis, ją galima pakeisti. pagrindinis skirtumas tarp statinės ir dinaminės atminties paskirstymo yra tas esant statiniam atminties paskirstymui, kai paskirta atmintis, atminties dydis fiksuojamas, o dinaminės atminties paskirstyme, kai tik paskirta atmintis, atminties dydį galima pakeisti.

TURINYS

1. Apžvalga ir svarbiausias skirtumas
2. Kas yra statinės atminties paskirstymas
3. Kas yra dinaminis atminties paskirstymas
4. Statinės ir dinaminės atminties paskirstymo panašumai
5. Šalutinis palyginimas - statinis ir dinaminis atminties paskirstymas lentelės forma
6. Santrauka

Kas yra statinis atminties paskirstymas?

Esant statiniam atminties paskirstymui, paskirta atmintis yra fiksuota. Kai atmintis paskirta, jos pakeisti negalima. Atminties negalima nei padidinti, nei sumažinti. Pvz., C kalba, jei programuotojas rašo int x, tai reiškia, kad kintamasis gali saugoti sveikąją skaičių. Baitų skaičius priklauso nuo kompiuterio. Taip pat gali būti masyvų. E. g. int x [5]; Šis x yra masyvas, kuriame galima saugoti to paties tipo duomenų seką. Jame galima laikyti penkis sveiko skaičiaus elementus. Joje negali būti daugiau kaip penkių elementų. „Java“ programoje masyvas gali būti sukurtas taip: int arr [] = naujas int [5]; Masyvas „arr“ gali saugoti 5 sveiko skaičiaus reikšmes ir negali saugoti daugiau.

01 paveikslas: Atminties paskirstymo metodai

Paskirstant kintamuosius statinėje atmintyje, jie lieka pastovūs. Po pradinio paskirstymo programuotojas negali pakeisti atminties. Jei programuotojas skyrė masyvą, kuriame galima laikyti 10 elementų, neįmanoma išsaugoti reikšmių, didesnių už nurodytą kiekį. Jei programuotojas iš pradžių skyrė masyvą, kuriame galima laikyti 10 elementų, bet jam reikėjo tik 5 elementų, tada išeikvojama atmintis. Ta atmintis nebereikalinga, bet taip pat neįmanoma pakartotinai jos naudoti. Statinis atminties paskirstymas yra fiksuotas, tačiau įgyvendinimas yra paprastas ir lengvas, be to, tai yra greitas.

Kas yra dinaminis atminties paskirstymas?

Kartais reikia pakeisti atminties dydį. Taigi atmintį galima paskirstyti dinamiškai. Atsižvelgiant į duomenų elementų įdėjimą ir ištrynimą, atmintis gali augti arba trauktis. Jis žinomas kaip dinaminis atminties paskirstymas.

C kalba, antraštės stdlib.h faile, yra keturios dinaminio atminties paskirstymo funkcijos. Jie yra kalok, malloc, realloc ir nemokami. Funkcija malloc () paskiria reikiamo dydžio baitus ir grąžina tuščią rodyklę, nurodydama pirmąją paskirstytos atminties baitą. Funkcija calloc () paskirsto reikiamą baitų dydį ir suinicializuoja juos iki nulio. Tada grąžina tuščią rodyklę į atmintį. Laisvoji () funkcija naudojama paskirstytos atminties perskirstymui. Perkėlimo funkcija gali modifikuoti anksčiau paskirstytą atmintį. Paskirstę atmintį naudodami kalloką arba malloką, atminties dydis yra fiksuotas, tačiau jas galima padidinti arba sumažinti naudojant perstatymo funkciją. „Java“ rinkiniai gali būti naudojami dinaminiam atminties paskirstymui.

Pagrindinis dinaminio atminties paskirstymo pranašumas yra tas, kad jis taupo atmintį. Programuotojas gali skirti atmintį arba prireikus ją atlaisvinti. Atmintis gali būti perskirstyta vykdymo metu ir gali atlaisvinti atmintį, kai to nereikia. Dinaminis atminties paskirstymas taip pat efektyvus nei statinės atminties paskirstymas. Vienas trūkumas yra tas, kad dinamiško atminties paskirstymo įgyvendinimas yra sudėtingas.

Kokie yra statinės ir dinaminės atminties paskirstymo panašumai?

  • Abu yra atminties paskirstymo mechanizmai.
  • Abi jas programuotojas turėtų įgyvendinti rankiniu būdu.

Kuo skiriasi statinis ir dinaminis atminties paskirstymas??

Statinis ir dinaminis atminties paskirstymas

Statinis atminties paskirstymas yra atminties paskirstymo būdas, o paskirta atmintis yra fiksuota. Dinaminis atminties paskirstymas yra atminties paskirstymo būdas, o paskirta atmintis gali būti pakeista.
 Modifikacija
Esant statiniam atminties paskirstymui, neįmanoma pakeisti jo dydžio po pradinio paskirstymo. Dinaminės atminties paskirstymo metu atmintį galima atitinkamai sumažinti arba padidinti.
Įgyvendinimas
Statinį atminties paskirstymą lengva įgyvendinti. Dinaminį atminties paskirstymą sudėtinga įgyvendinti.
 Greitis
Statinėje atmintyje paskirstymo vykdymas yra greitesnis nei dinaminės atminties paskirstymas. Dinaminėje atmintyje paskirstymo vykdymas yra lėtesnis nei statinės atminties paskirstymas.
Atminties panaudojimas
Esant statiniam atminties paskirstymui, negalima pakartotinai naudoti nepanaudotos atminties. Dinaminis atminties paskirstymas leidžia pakartotinai naudoti atmintį. Programuotojas gali skirti daugiau atminties, kai to reikia. Prireikus jis gali išlaisvinti atmintį.

Santrauka - Statinis ir dinaminis atminties paskirstymas

Programuojant, statinė atminties paskirstymas ir dinaminė atminties paskirstymas yra du atminties paskirstymo mechanizmai. Skirtumas tarp statinės ir dinaminės atminties paskirstymo yra tas, kad paskirstant atmintį statinėje atmintyje fiksuojamas atminties dydis, o dinaminės atminties paskirstymo metu, kai paskirta atmintis, atminties dydį galima pakeisti. Programuotojas gali nuspręsti, ar atmintis turėtų būti statinė, ar dinamiška, atsižvelgiant į programą.

Atsisiųskite statinio ir dinaminio atminties paskirstymo PDF rinkmeną

Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia: Statinės ir dinaminės atminties paskirstymo skirtumas

Nuoroda:

1.Kayal, Somnath. „SOMNATH KAYAL“. Statinės atminties paskirstymo ir dinaminės atminties paskirstymo skirtumas, 1970 m. Sausio 1 d. Galima rasti čia 
2.tutorialspoint.com. „Masyvai C.“ Esmė. Galima rasti čia 
3.nareshtechnologies. Statinė atmintis vs dinaminė atmintis | C kalbos mokymo programa, „Naresh i Technologies“, 2016 m. Rugsėjo 19 d. Galima rasti čia