Ранее изучаемые типы данных относятся к так называемым статическим. Память под них выделяется во время компиляции, количество таких объектов не меняется во время выполнения программы. Однако существует ряд задач, где статические структуры неэффективны. В языке Паскаль имеются средства создания динамических структур данных, которые позволяют во время выполнения программы:
· образовывать объекты;
· выделять для них память;
· уничтожать, когда в них исчезает необходимость.
Другое название динамической памяти – куча.
Возможно вы искали - Курсовая работа: Динамические структуры данных: дек
Для получения ясного представления о динамических переменных надо рассмотреть структуру памяти во время выполнения программы на языке Паскаль (см. рис.1).
Данные в динамической памяти размещают с использованием указателей. Указатель - это ссылка на определенную ячейку памяти, начиная с которой записывается значение переменной, поэтому данные такого типа называются еще и ссылочным типом данных.
Формат описания ссылочного типа данных:
Type <тип указателя> = ^ <идентификатор типа>,
то есть указатель связан с некоторым типом данных. Такие указатели называются типизированными.
Похожий материал - Реферат: Динамическое программирование и вариационное исчисление
Пример описания переменных ссылочного типа:
Type
p1=^integer;
p2=^real;
Var
Очень интересно - Реферат: Динамическое программирование, алгоритмы на графах
A,B,C:p1;
X,Y,Z:p2;
P:char;
Cсылочные переменные A, B, C указывают на динамические объекты целого типа, X,Y,Z - вещественного, P - символьного. Значением ссылочной переменной является адрес в динамически выделенной памяти, где хранится объект этого типа.

Вам будет интересно - Лабораторная работа: Динамическое распределение памяти
Рис. 1. Структура памяти во время выполнения программы
Для обращения к ссылочной переменной используют запись “ A^ ”, что означает: ”идти по адресу, хранящемуся в A”. Память под указатели отводится на этапе компиляции.
Однако в Турбо Паскале можно объявлять указатель и не связывать его с конкретным типом данных. Такой указатель называется нетипизированным. Для его объявления служит стандартный тип pointer. Структура и тип таких данных могут меняться во время выполнения программы.
При работе с указателями обязательны этапа два:
1. объявление указателя;
Похожий материал - Дипломная работа: Защита информации виртуальных частных сетей
2. формирование динамических данных, память которых отводится во время выполнения программы.
Для работы с указателями используются следующие процедуры:
New(P) - процедура, которая создает в динамической памяти новую переменную. Р - указатель переменной того типа, который надо создать. Каждая отдельная процедура new может создать только одну динамическую переменную.
Dispose(P) - процедура, позволяющая вернуть в кучу участок памяти, занятый объектом с указателем Р.