Описание массива
Чтобы описать массив, надо сообщить компилятору:
· сколько в нем элементов;
· какого типа эти элементы;
· как они нумеруются.
Массив не является стандартным типом данных, поэтому он задается в разделе описания типов:
type имя_типа = array [тип_индекса] of тип элемента
Здесь type — признак начала раздела описания типов, array и of — ключевые слова, тип индекса задается в квадратных скобках, например:
type mas = array [1 .. 10] of real:
Здесь описан тип массива из вещественных элементов, которые нумеруются от 1 до 10. После задания типа его можно использовать точно так же, как любой стандартный тип, то есть описывать с его помощью переменные, например:
var a, b : mas;
Компилятор, встретив такой оператор, выделит по 60 байт под каждый из массивов a и b (10 элементов по 6 байт). К элементу массива обращаются, указав его имя, за которым в квадратных скобках записывается порядковый номер элемента:
а[4] b[i]
С элементом массива можно делать все, что допустимо для переменных того же типа.
ЗАМЕЧАНИЕ
Тип элементов массива может быть любым, кроме файлового, тип индексов — интервальным, перечисляемым или byte. При описании типа индексов можно использовать только константы или константные выражения. Переменные не допускаются, потому что место под массив резервируется до выполнения программы.
Если тип массива используется только в одном месте программы, можно задать тип прямо при описании переменных, например:
const n = 100:
var х, у : array [1 .. n] of integer:
С массивами в целом можно выполнять только одну операцию — присваивание. При этом массивы должны быть одного типа, например:
х := у;
Все остальные действия выполняются с отдельными элементами массива. Автоматический контроль выхода индекса за границы массива не производится, поэтому программист должен либо следить за этим самостоятельно, либо с помощью директивы компилятора {$R+} включить режим проверки границ диапазонов. Ключ {$R+} можно ставить в любом месте программы, предшествующем потенциально опасному участку1.
Дата добавления: 2015-08-08; просмотров: 718;