Составители:
Рубрика:
130
var
pi : ^Integer; {описываем указатель на
целую переменную}
рг: ^ Rеа1; {описываем указатель на
вещественную переменную}
begin
{выделяем память для первой динамической
переменной}
New (pi) ;
{присвоим значение динамической переменной}
pi ^: = 25;
Writeln (рi^) ; {выводим ее значение на экран}
{выделяем память для первой динамической
переменной}
New(pr) ;
pг ^:= 0.5;
Writeln (рr^) ; {выводим ее значение на экран}
end.
Процедурой GetMem удобно пользоваться, когда необ-
ходимо создать структурированную динамическую перемен-
ную, например, динамический массив. В массиве элементы
имеют один тип. Размер, занимаемый n элементами массива,
можно получить умножив размер одного элемента на n. А раз-
мер элемента возвращает функция SizeOf.
function SizeOf(<идентификатop тuпa>): integer;
Динамические переменные удаляются из памяти проце-
дурами Dispose или FreeMem.
procedure Dispose(var P:<указатель>);
Эта процедура освобождает весь участок памяти, выделенный
под данную динамическую переменную.
procedure FreeMem(var P: Pointer; Size: Word);
Данная процедура освобождает участок памяти, размер кото-
рого определяет параметр Size.
Приведённые процедуры обычно используются
var pi : ^Integer; {описываем указатель на целую переменную} рг: ^ Rеа1; {описываем указатель на вещественную переменную} begin {выделяем память для первой динамической переменной} New (pi) ; {присвоим значение динамической переменной} pi ^: = 25; Writeln (рi^) ; {выводим ее значение на экран} {выделяем память для первой динамической переменной} New(pr) ; pг ^:= 0.5; Writeln (рr^) ; {выводим ее значение на экран} end. Процедурой GetMem удобно пользоваться, когда необ- ходимо создать структурированную динамическую перемен- ную, например, динамический массив. В массиве элементы имеют один тип. Размер, занимаемый n элементами массива, можно получить умножив размер одного элемента на n. А раз- мер элемента возвращает функция SizeOf. function SizeOf(<идентификатop тuпa>): integer; Динамические переменные удаляются из памяти проце- дурами Dispose или FreeMem. procedure Dispose(var P:<указатель>); Эта процедура освобождает весь участок памяти, выделенный под данную динамическую переменную. procedure FreeMem(var P: Pointer; Size: Word); Данная процедура освобождает участок памяти, размер кото- рого определяет параметр Size. Приведённые процедуры обычно используются 130