Энциклопедия Turbo Pascal. Главы 1-4 - Функция Dispose

ОГЛАВЛЕНИЕ

Функция 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.