Структурированные типы. Массивы.
Глубина вложенности структурированных типов вообще, а следовательно, и массивов – произвольная, поэтому количество элементов в списке индексных типов (размерность массива) не ограничено, однако суммарная длина внутреннего представления любого массива, как уже говорилось, не может быть больше 65520 байт.
В памяти ПК элементы массива следуют друг за другом так, что при переходе от младших адресов к старшим наиболее быстро меняется самый правый индекс массива. Если, например:
var а: array[1..2.1..2] of Byte; begin a [1.1]: = 1; a [2.1]: = 2; a [l, 2]: = 3; a [2.2]: = 4; end.
То в памяти последовательно друг за другом будут расположены байты со значениями 1.3.2, 4. Это обстоятельство может оказаться важным при использовании стандартной процедуры копирования памяти MOVE.
В Турбо Паскале можно одним оператором присваивания передать все элементы одного массива другому массиву того же типа, например:
var а,b:array [1..5] of Single; begin ….. a: = b; ….. end.
После этого присваивания все пять элементов массива А получат те же значения, что и в массиве В. Однако над массивами не определены операции отношения. Нельзя, например, записать:
if a = b then…
Сравнить два массива можно поэлементно, например:
var a,b:array [1..5] of Single; eq:Boolean; i:Byte; begin ….. eq: = True; for i: = 1 to 5 do if a[i] <> b[i] then eq: = False; if eq then ….. end.