Открытые массивы
В списке параметров, помещаемом в заголовках функций и процедур, допускается указывать массивы. Если размер воспринимаемого массива фиксирован, то в списке параметров тип такого параметра задается только с помощью идентификатора типа. Подпрограммы Object Pascal могут воспринимать также массивы, размер которых неизвестен. В этом случае в заголовке подпрограммы после записи имени параметра-массива указывается слово array, а затем базовый тип, а описание индексов не приводится. Например,
Procedure InverArray(D: Array Of Real;
Var T: Array Of Real);
Такие массивы (как D и T) называются открытыми массивами.
При таком определении массивов D и T тот массив, который передается в процедуру InverArray первым в качестве фактического параметра, будет копироваться в стек, и с этой копией - массивом D - будет работать процедура. Второй открытый массив (массив Т) определен как Var. Этот массив передается «по ссылке», т. е. он не копируется в стек, и процедура будет работать с тем массивом, который был передан в качестве фактического параметра при вызове InverArray.
Массив, переданный как открытый, воспринимается в теле процедуры или функции как массив с целыми индексами, начинающимися с нуля. При этом не имеет значения, как был объявлен диапазон для индекса в массиве, переданном в процедуру в виде фактического параметра.
Дата добавления: 2015-08-21; просмотров: 737;