Разлика између расподјеле статичке и динамичке меморије

Кључна разлика - Распоред статичке вс динамичке меморије
 

У програмирању је неопходно складиштење рачунарских података. Ови подаци се чувају у меморији. Меморијске локације за чување података у рачунарском програмирању познате су као променљиве. Варијабле имају специфичан тип података. Стога је меморија додијељена за покретање програма. Меморија се може доделити на два начина. То су статичка алокација меморије и динамичка алокација меморије. У статичкој додељивању меморије, једном када је додељена меморија, она се не може мењати. Меморија није вишекратна за употребу. Али у динамичкој додељивању меморије, када је додељена меморија, она се може мењати. Тхе кључна разлика између статичке и динамичке расподјеле меморије је то у статичкој расподјели меморије након додјеле меморије, величина меморије се фиксира док је у динамичкој расподјели меморије, једном кад је додијељена меморија, величина меморије може се мијењати.

САДРЖАЈ

1. Преглед и кључне разлике
2. Шта је додељивање статичке меморије
3. Шта је додељивање динамичке меморије
4. Сличности између расподјеле статичке и динамичке меморије
5. Упоредна упоредба - Статичка вс динамичка подела меморије у табеларном облику
6. Резиме

Шта је додељивање статичке меморије?

У статичкој расподјели меморије додијељена меморија је фиксна. Једном када је додељена меморија, она се не може мењати. Меморија се не може повећавати или смањивати. На пример, на језику Ц ако програмер напише инт к, што значи да варијабла може да похрани целокупну вредност. Број бајтова зависи од рачунара. Може бити и низова. На пример. инт к [5]; Овај к је низ који може сместити низ података који су истог типа. Може да смести пет целих елемената. Не може да похрани више од пет елемената. У Јави се низ може креирати као, инт арр [] = нев инт [5]; Низ „арр“ може сместити 5 целих вредности и не може да похрани више од тога.

Слика 01: Методе расподјеле меморије

У статичкој додељивању меморије, након што су променљиве додељене, оне остају сталне. Након иницијалне додјеле, програмер не може промијенити величину меморије. Ако је програмер додијелио низ који може похранити 10 елемената, није могуће похранити вриједности веће од наведеног износа. Ако је програмер у почетку доделио низ који може да садржи 10 елемената, али им је потребно само 5 елемената, тада долази до губитка меморије. Та меморија више није потребна, али је такође није могуће поново користити. Статичка алокација меморије је фиксна, али имплементација је једноставна и лака, а такође је и брза.

Шта је додељивање динамичке меморије?

Понекад је потребно променити величину меморије. Тако се меморија може динамички распоредити. У зависности од уметања и брисања елемената података, меморија може да се повећа или смањи. Позната је као динамичка алокација меморије.

На језику Ц, стдлиб.х заглавље, постоје четири функције за динамичку расподелу меморије. Они су цаллоц, маллоц, реаллоц и слободни. Функција маллоц () додељује потребну величину бајтова и враћа поништени показивач, показујући први бајт додељене меморије. Функција цаллоц () додељује потребну величину бајтова и иницијализира их на нулу. Затим враћа неважећи показивач у меморију. Функција фрее () користи се за прерасподелу додељене меморије. А функција реаллоц може модификовати претходно додељену меморију. Након расподјеле меморије користећи цаллоц или маллоц, величина меморије се фиксира, али се може повећати или смањити помоћу функције реаллоц. У Јави се колекције могу користити за динамичку расподелу меморије.

Главна предност динамичке расподјеле меморије је што штеди меморију. Програмер може доделити меморију или по потреби ослободити меморију. Меморија се током извођења може прерасподелити и ослободити меморију када није потребна. Динамичка алокација меморије је такође ефикасна од статичке расподјеле меморије. Један недостатак је то што је примена динамичке алокације меморије комплексна.

Које су сличности између расподјеле статичке и динамичке меморије?

  • Оба су механизми за доделу меморије.
  • Програмирање оба треба да реализује ручно.

Која је разлика између расподјеле статичке и динамичке меморије?

Расподјела статичке вс динамичке меморије

Статичка расподјела меморије је метода расподјеле меморије и након што је додељена меморија је фиксирана. Динамичка алокација меморије је метода расподјеле меморије, а када је додијељена меморија, она се може промијенити.
 Модификација
У статичкој расподјели меморије није могуће промијенити величину након почетне додјеле. При динамичкој расподјели меморије, меморија се може умањити или максимизирати у складу с тим.
Имплементација
Статичка подела меморије је лако имплементирати. Динамичка алокација меморије је сложена за имплементацију.
 Брзина
У статичкој меморији извршавање расподјеле је брже од динамичке додјеле меморије. У динамичкој меморији извршење расподјеле је спорије од распоређивања статичке меморије.
Употреба меморије
У статичкој додељивању меморије не може поново да се користи неискоришћена меморија. Динамичка алокација меморије омогућава поновну употребу меморије. Програмер може по потреби доделити више меморије. По потреби може да ослободи меморију.

Резиме - Расподјела статичке вс динамичке меморије

У програмирању су статичка алокација меморије и динамичка расподјела меморије два механизма за расподјелу меморије. Разлика између статичке и динамичке расподјеле меморије је у томе што у статичкој додјели меморије након додјеле меморије величина меморије се фиксира док се у динамичкој расподјели меморије, након што је додијељена меморија, величина меморије може промијенити. Програмер може одлучити да ли меморија треба бити статичка или динамичка у зависности од апликације.

Преузмите ПДФ за алокацију Статиц вс Динамиц Мемори

Можете преузети ПДФ верзију овог чланка и користити је за оффлине употребу према напомени. Молимо преузмите ПДФ верзију овде: Разлика између распоређивања статичке и динамичке меморије

Референце:

1.Каиал, Сомнатх. "СОМНАТХ КАИАЛ." Разлика између расподјеле статичке меморије и динамичке додјеле меморије, 1. јануара 1970. Доступно овдје 
2.туториалспоинт.цом. „Низови у Ц.“ Поента. Доступно овде 
3.наресхтецхнологиес. Статичка меморија вс динамичка меморија | Језички водич, Наресх и Тецхнологиес, ​​19. септембра 2016. Доступно овде