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

 
« Предыдущая статья