Энциклопедия Turbo Pascal. Главы 1-4 Страница 31. Функция 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.
|