Массив представляет собой последовательный список определенного количества элементов. Все элементы в массиве принадлежат к одному типу данных. Массивы бывают статическими и динамическими.
Статические массивы
Для объявления массива используется конструкция:
array [indexType1, ..., indexTypen] of baseType,
где каждый indexType – это порядковый тип, размерность которого не превосходит 2GB. Для этого можно воспользоваться идентификатором некоторого типа (например, boolean или ansichar), однако на практике обычно явно задается поддиапазон целых чисел. Число элементов массива в каждом измерении задается соотвествующим порядковым типом. Количество элементов массива равно произведению количеств элементов во всех измерениях.
Словосочетание array of является зарезевированным. Квадратные скобки после слова array являются требованием синтаксиса, а после слова of — тип элементов массива.
1. Примеры.
Простейший случай – это одномерный массив:
type TStates = array[1..50] of string; TCoordinates = array[1..3] of Integer;
После описания типа можно переходить к определению переменных и типизированных констант:
2. Обратите внимание, что инициализация элементов массива происходит в круглых скобках через запятую.
3. Массив может быть определен и без описания типа:
var Symbols: array[0..80] of Char; { 81 characters }
4. Чтобы получить доступ к отдельному элементу массива, нужно в квадратных скобках указать его индекс, например
Symbols[0]
5. Объявленные выше массивы являются одномерными, так как имеют только один индекс. Одномерные массивы обычно используются для представления линейной последовательности элементов. Если при описании массива задано два индекса, массив называется двумерным, если n индексов — n-мерным. Двумерные массивы используются для представления таблицы, а n-мерные — для представления пространств. Вот пример объявления таблицы, состоящей из 5 колонок и 20 строк:
var Table: array[1..5] of array[1..20] of Double;
То же самое можно записать в более компактном виде:
var Table: array[1..5, 1..20] of Double;
Чтобы получить доступ к отдельному элементу многомерного массива, нужно указать значение каждого индекса, например