Операции над указателями в языке Pascal
ПРИМЕЧАНИЕ --------------------------------------------------------------------------------------------------
В языке Pascal символ Т имеет двойное назначение: как префиксная операция создания указательного типа и как постфиксная операция разыменования.
Тип ТТ используется для создания указателей на объекты типа Т. Выражение pТ обозначает объект, указываемый с помощью p.
В языке Pascal объект данных типа Т, доступ к которому должен обеспечиваться через указатель, создается с помощью оператора new(p), где р — указатель на переменную типа Т. Такой объект называют динамическим, поскольку создается он в период выполнения программы. Память под объект выделяется из динамической области памяти по имени heap (куча). Объект существует до тех пор, пока не произойдет явное освобождение памяти по оператору dispose (p). Специальное значение указателя nil соответствует случаю, когда указатель ни на что не указывает. Это значение может быть присвоено переменной любого указательного типа. В языке Pascal возможны следующие операции над указателями [92, 93]: 1. Динамическое размещение в куче (heap). При выполнении new(p) в p заносится адрес нового объекта типа Т, созданного в куче. 2. Разыменование. Выражение pT обозначает r-значение объекта данных, указываемого с помощью р. 3. Присваивание. Разрешено между указателями одинакового типа p : = q. 4. Проверка эквивалентности. Выражение эквивалентности p = q проверяет, содержат ли два указателя одного типа адрес одного и того же объекта. Возможна проверка неэквивалентности. 5. Освобождение. Динамический объект данных существует до момента выполнения оператора dispose(p), по которому память из-под него освобождается. |
284 |
Глава 11. Указатели |