Структуры и алгоритмы обработки данных. Ключарев А.А - 16 стр.

UptoLike

16
Основными операциями, в которых участвуют указатели, являются
присваивание, получение адреса, выборка.
Присваивание является двухместной операцией, оба операнда кото-
рой указатели. Как и для других типов, операция присваивания копи-
рует значение одного указателя в другой, в результате оба указателя
будут содержать один и тот же адрес памяти. Если оба указателя, уча-
ствующие в операции присваивания типизированные, то оба они долж-
ны указывать на данные одного и того же типа.
Операция получения адреса – одноместная, ее операнд может иметь
любой тип. Результатом является типизированный (в соответствии с
типом операнда) указатель, содержащий адрес операнда.
Операция выборки – одноместная, ее операндом является типизиро-
ванный указатель. Результатом этой операции являются данные, выб-
ранные из памяти по адресу, заданному операндом. Тип результата оп-
ределяется типом указателя.
Перечисленных операций достаточно для решения задач прикладно-
го программирования, поэтому набор операций над указателями, допу-
стимых в языке Паскаль, этим и ограничивается. Системное програм-
мирование требует более гибкой работы с адресами, поэтому, напри-
мер, в языке Си доступны также операции адресной арифметики.
1.2. Линейные структуры данных
Рассмотрим статические структуры данных: массивы, записи, мно-
жества. Цель описания типа данных и определения некоторых перемен-
ных, относящихся к статическим типам, состоит в том, чтобы зафикси-
ровать диапазон значений, присваиваемых этим переменным, и соот-
ветственно размер выделяемой для них памяти. Поэтому такие пере-
менные и называются статическими.
1.2.1. Массив
Массив – это поименованная совокупность однотипных элементов,
упорядоченных по индексам, определяющих положение элемента в мас-
сиве.
Следующее объявление задает имя для массива, тип для индекса и
тип элементов массива:
имя: array[ТипИндекса] of ТипЭлемента;