Энциклопедия Turbo Pascal. Главы 1-4 - Функция Dispose
ОГЛАВЛЕНИЕ
Страница 31 из 60
Функция Dispose
Одна из причин динамического распределения памяти заключается в возможности ее повторного использования. Один из способов возврата памяти в динамическую область предусматривает использование функции "Dispose". В качестве аргумента этой функции используется указатель, который применялся при вызове функции
"New", т.е. эта функция использует указатель на участок, который действительно располагается в динамической области. После обращения к этой функции память, которая выделялась по заданному указателю, будет освобождена и может использоваться в дальнейшем. Например, ниже приводится короткая программа, которая динамически выделяет память под массив из сорока целых чисел и перед завершением возвращает занятую память системе:
{Динамическое выделение памяти с использованием функций New и
Dispose.}
program Sample;
type
pntr = ^RecType;
RecType = array[1..40] of integer;
var
p: pntr;
t: integer;
begin
New(p);
for t: = 1 to 40 do p^[t]: = t*2;
for t: = 1 to 40 do Write(p^[t], ' ');
WriteLn;
Dispose(p);
end.