Ссылочные типы Описание ссылочных типов ::= Например type PINT = integer; C = char; Описание ссылочных переменных var p: PINT; r1, r2: real; p integer p 3
Операции над ссылками Создание динамических переменных var p: T; new(p) > p p - объект типа Т (динамическая переменная) Переменная с указателем p p ::=
Пример: var p,q: integer; new(p) > pp p := > p 5 p :=p > p 3 p:=q > q:=nil > p 3 q 58 pq 3 p 3 q nil 58 p q p :=q
Сравнение ссылок Ссылки можно сравнивать на «равно» и «не равно»: p=q и p<>q Уничтожение динамических переменных p:=q > p 3 q 58 pq 3 dispose(p) > p 3 p 3 - свободно - без значения
qp 3 <- висячая ссылка pq 3 qp 3 q:=p > dispose(p) >