ПредишенСледващото

Динамично разпределение на паметта чрез изчистване на функцията библиотека се състои от следните стъпки.

1. Включване в заглавния файл на програмата изчистване. директивата ч # включват .

р = (междинно *) изчистване (брой масив * sizeof (INT) елементи);

Вместо вътр може да бъде заместен всеки стандартен или новият тип програмист.

4. Проверка на действителното разпределение на паметта. Ако разпределението на паметта в правилната сума е невъзможно, изчистване функция връща като свой резултат показалка нулева NULL. съответстваща на лъжата на стойност. Ако разпределението на паметта е направено, ние продължаваме изпълнението на програмата, ако не, да се измъкнем от него с подходящото диагнозата на липса на памет. например:

ако (р!) от папката; останало продължаване;

5. освобождава след работа с нея. За да направите това, което наричаме е REC функция и да използвате показалеца като аргумент:

Най-честата причина за "замразяване" на компютъра при работа с динамично разпределена памет е несъответствие инструкция изчистване на и безплатно (в двете инструкции трябва да използват един и същ индекс) или недостатъчно свободна памет.

Като пример, разгледа вход / изход динамичен двумерен масив за произволна дължина, определена от клавиатура.

Cout <> N; // размер вход масив

Massiv = (междинно *) изчистване (п * sizeof (междинно съединение)); // dinam.pamyati подбор

ако (! Massiv) // проверка на фактите разпределение на паметта

Cout <

за (I = 0; и> Massiv [Ь]; // вход масив

за (I = 0; и

свободен (Massiv); // свободна памет

В тази програма, само показалеца се използва за разпределяне на динамичната памет. До следващия призив към елементите на масива чрез името на масива, който съвпада с името на индекса.

За динамично разпределение на паметта може да използвате calloc (функция). За разлика изчистване calloc функция освен площ разпределение на паметта при масива от друг масив елементи инициализира на нула.

В зависимост от версията на C ++ за големи динамични фрагменти памет може farmalloc функции приложения (), farcalloc (), farcoreleft () и farfree ().

Свързани статии

Подкрепете проекта - споделете линка, благодаря!