Статические массивы |
Вверх Предыдущий Следующий |
Когда диапазон массива включен в определение массива, он называется статическим массивом. Попытка доступа к элементу с индексом, который находится вне указанного диапазона будет генерировать ошибку времени выполнения (если включена проверка диапазона). Ниже приведен пример правильного объявления массива: Type RealArray = Array [1..100] of Real; Индексы допустимые для доступа к элементу массива находятся в границе от 1 до 100, включительно с 1 и 100. Как и в Turbo Pascal, если тип массива является сам по себе массивом, можно объединить два массива в один многомерный массив. Следующее объявление: Type APoints = array[1..100] of Array[1..3] of Real; эквивалентно объявлению: Type APoints = array[1..100,1..3] of Real; Функции High и Low возвращают самое высокое и низкое разрешённое значения индекса массива. В приведенном выше случае, это будет 100 и 1. Вы должны по возможности использовать их, так как они улучшают управляемость вашего кода. Использование обеих функций является столь же эффективно, как использование констант, так как они вычисляются во время компиляции. Когда переменная типа статический массив присвоена другой переменной, копируется содержание целого массива. Это также истинно для многомерных массивов: program testarray1;
Type TA = Array[0..9,0..9] of Integer;
var A,B : TA; I,J : Integer; begin For I:=0 to 9 do For J:=0 to 9 do A[I,J]:=I*J; For I:=0 to 9 do begin For J:=0 to 9 do Write(A[I,J]:2,' '); Writeln; end; B:=A; Writeln; For I:=0 to 9 do For J:=0 to 9 do A[9-I,9-J]:=I*J; For I:=0 to 9 do begin For J:=0 to 9 do Write(B[I,J]:2,' '); Writeln; end; end. Выводом этой программы будут 2 идентичных матрицы. |