Основы программирования на языке Turbo Pascal. Беляева И.В. - 236 стр.

UptoLike

Составители: 

236
begin
p:=nil;
pi:=nil;
pc:=nil;
end.
4) Значение указателя можно задавать процедурами New и Getmem.
Все вышерассмотренные примеры демонстрировали работу со
статически выделяемой памятьюесли какая-то переменная объявляется
в программе, то память для ее размещения выделяется компилятором, и в
процессе работы программы месторасполажение переменной изменить
нельзяоно статично.
Кроме такогостатическогоспособа выделения памяти, существует
и другой способдинамический. При динамическом способе выделения
памяти в программе объявляют не сами переменные, а только указатели
на них, а память для размещения переменных выделяют при помощи
процедур New и Getmem.
Процедура New
procedure New(var P:Pointer) – создает новую динамическую
переменную и заносит в P адрес созданной переменной.
Процедура Dispose
procedure Dispose(var P:Pointer) – освобождает память, занимаемую
динамической переменной, на которую указывает P.
Пример 1:
var
pi: Integer; {указатель на динамически создаваемую переменную}
begin
New(pi); {создали динамическую переменную целого типа}
pi^:=100; {присвоили ей значение 100}
writeln(pi^); {вывели на экран ее значение =100}
Dispose(pi); {уничтожили созданную динамическую переменную}
end.
Пример 2: