Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Массивы в Delphi. Особенности работы с динамическими массивами.




Массив – это упорядоченный набор данных. Как правило, количество элементов массива ограничено. Ключевое слово Array обеспечивает одномерные и многомерные массивы данных. Среда Delphi использует синтаксис языка Object Pascal, а согласно последнему, массивы объявляются так:

var My_Array: array[index1..indexN] of BaseType

 

Где index1 и indexN принадлежат упорядоченному типу, диапазон которого, как написано в документации по Delphi 6, не превышает 2Gb. BaseType – тип элементов массива.

Например,

var My_Array: array[0..99] of Real;

 

Мы объявили массив My_Array, состоящий из 100 элементов типа Real. Массивы могут быть одномерными, двухмерными и n-мерными. Теоретически, ограничения на размерность массива нет, на практике размерность ограничена доступной памятью.

Delphi имеет три основных типа массивов:

 

1. Статические массивы

 

Они определены установленными, неизменяемыми размерами. Они могут быть одномерными или многомерными - последний является массивом массивов (массивов и т.д). Размер и диапазон такого многомерного массива всегда даются для самого высокого, крайнего левого массива - родительского массива.

 

Размер каждого измерения определен двумя способами, которые могут быть свободно смешаны в многомерном массиве:

 

Index type, где Index целое число, обычно Byte или Word. Диапазон этого типа определяет диапазон измерения. Например, Byte дает дипазон 0..255.

 

Ordinal..Ordinal Альтернативно, диапазон каждого измерения может быть задан предписанными порядковыми значениями, типа 22..44.

 

Динамические массивы не имеют фиксированного размера или длины. Для объявления такого массива достаточно записать:

var My_Array: array of Real;

 

2. Динамические массивы не имеют никакой предраспределенной памяти. Определяется только когда создан указатель. Размеры таких массивов должны быть установлены прежде, чем они будут использоваться. Например:

 

SetLength(dynArray, 5);

 

устанавливает размер одномерного массива dynArray в 5 элементов. При этом будет распределена память.

 

Все динамические массивы начинаются с индекса = 0.

 

Индивидуальные подмассивы многомерного динамического массива могут иметь различные измерения - они, конечно являются отдельными массивами. После одной такой операции SetLength, на элементы набора массива уже можно ссылаться, даже при том, что остальная часть массива неопределена.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных