Алгоритмы и программы. Афанасьева Т. В - 207 стр.

UptoLike

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

207
var
p1,p2:^byte;
k:byte;
Для того, чтобы присвоить переменной ссылочного типа некоторое
значение, необходимо следовать правилам:
1) если присваивается переменной ссылочного типа значение того
же ссылочного типа, то они должны принадлежать одному и тому же типу.
Например:
begin
.......
p2:=p1;
p1:=k;невозможно
2) для реализации присваивания ссылочной переменной некоторого
значения, не являющегося указателем, необходимо воспользоваться опе-
рацией взятия
адреса @.
Пример:
var i:byte;
.............
begin p1:=@i;
p2:=nil;
p1 присваивается адрес,
где хранится переменная, определяемая идентификатором i;
nil это совместимое по типу с любым указателем значениe,
которое означает указатель в никуда.
Вся ДП может рассматриваться как сплошной массив, этот массив
называется кучей. Адрес начала кучи хранится в стандартной переменной
HEAPORG,
конец кучи хранится в стандартной переменной
HEAPEND.
Границу кучи указывает
стандартная переменная HEAPPTR.
Под динамически размещаемую переменную во время выполнения
программы, память выделяется с помощью процедуры
NEW(P); Руказатель.
В результате обращения к этой процедуре указатель P приобретает
значение, соответствующее адресу, начиная с которого могут размещаться