TURBO PASCAL |
Новости
|
Работа с динамическими структурами данныхРаспределение памятиПри объявлении данных динамической структуры в разделе описаний указывается не сама переменная какого-либо типа, а указатель (ссылка) на нее. В результате указатель будет обычной переменной, а переменная на которую он указывает — динамической. Использование идентификатора указателя в программе означает вращение к адресу ячейки памяти, на которую он указывает. Чтобы обратиться к содержимому ячейки, на которую указывает указатель, требуется после его идентификатора поставить символ Эта операция называется операцией разыменования. Выделение и освобождение памяти под динамические переменные выполняется стандартными процедурами New. Dispose, GetMem, FreeMem, Mark, Release во время работы программы. Указательная переменная Р может быть в трех состояниях 1. Содержать адрес какой-либо переменной, память под которую уже выделена Процедура New(A) выделяет область памяти соответственно тому типу, который описан для указателя А и записывает адрес выделенной памяти в указатель. Процедура Dispose(A) освобождает область памяти, на которую указывает указатель А, после чего эта область памяти становится доступной для распределения под другие динамические переменные. Несвязанные динамические данные Несвязанные динамические данные классифицируются точно также, как и статические и работа с ними выполняется аналогично. Динамические свойства несвязанных динамических данных выражаются только в том, что они могут "появляться" и "исчезать" во время рабогы программы. Отличия использования таких данных заключаются в двух аспектах; • в разделе var объявляется не переменная требуемого типа, а указатель на этот тип; • перед использованием необходимо вызвать процедуру New, а после использования — процедуру Dispose. В качестве примера приведем таблицу сравнения работы с аналогичными статическими и несвязанными динамическими данными.
|
На первую страницу
(с)Все права защищеныПо всем интересующим вопросам прошу писать на электронный адрес |