Ссылки

Оценить
(0 голоса)

Ранее рассмотрены данные, имеющие статическую структуру, неизменную в процессе работы программы. Для таких данных распределение памяти производится перед началом работы программы, и сопоставление переменной выделенной ей зоны памяти сохраняется до конца выполнения программы. Однако в ряде случаев для решения задач более удобно применять динамические, гибкие структуры данных, размеры и организация которых изменяются по ходу работы программы.

К таким типам данных относится в первую очередь ссылочный тип, объектами которого являются ссылки на определенные адреса в памяти. Каждый такой адрес указывает на начало некоторой зоны в памяти, выделенной для объекта заданного типа. Ссылочный тип описывается следующим образом:

type тип 1 = | тип 2;

Тип 2 — это тип объектов, для которых выделяется место в памяти, адресуемое с помощью ссылки. Сам объект этого типа обозначается также с помощью стрелки, но стоит она после имени переменной, имеющей ссылочный тип: var перем : тип 1;

перем f — это имя переменной, имеющей тип 2. Кроме того, существует специальная ссылка nil — пустая, не связанная ни с каким местом в памяти.

Тип объектов, для которых резервируется место в памяти с помощью ссылки, может быть любым, кроме файлового. Но этот тип уже не должен меняться. Если данная ссылка определена для конкретного типа объектов, она жестко связана с этим типом.

Задания

1. В чем различие между динамическими и статическими структурами данных?

Это удобно, поскольку элемент списка должен быть объектом сложного типа, включающим разнотипные компоненты. Такому комплексу требований удовлетворяют только объекты комбинированного типа, т. е. записи. Помимо описанных объектов, список содержит ссылочную информацию, значение которой представляет собой ссылку на первый элемент списка. Если список пустой, т. е. не имеет элементов, начальной ссылкой будет nil.

Список вещественных чисел можно определить так
Над списками можно выполнять определенные операции
Различие в процедурах включения и исключения

Добавить комментарий


Защитный код
Обновить