Массивы фиксированной длины
 
Фиксированного размера однородные структуры данных.

Введение

Фиксированной длины массивы - это массивы, которые имеют фиксированный постоянный размер в течение всего времени выполнения программы. Память, используемая в массиве фиксированной длины для хранения своих элементов выделяется во время компиляции, либо в стеке, либо в секциях .BSS или .DATA исполняемого файла, в зависимости от того, использовалось или нет определение Static для массива. Это может позволить более быстрое выполнение программы, так как память для массива уже выделена, в отличие от массивов переменной длины, чьи элементы памяти выделяются до время выполнения.

Массивы фиксированной длины с автоматическим хранением, имеют свои элементы в стеке программы, и ссылки на эти элементы остаются в силе только тогда, когда массив находится в области видимости. Элементы массивов фиксированной длины со статической памятью выделяются в секциях .DATA или .BSS исполняемого файла, в зависимости от наличия или отсутствия у них инициализации при определении, поэтому указатели на эти элементы остаются в силе в течение всего времени выполнения программы. Фиксированной длины массивы любого класса хранения не могут быть изменены в размере во время выполнения программы, только массивы переменной длины могут.

Декларация и объявление

Массив фиксированной длины декларируется с помощью ключевого слова Extern, за ним следует идентификатор переменной, и далее в скобках список одного (1) или более индексных диапазонов и заканчивается декларация типом данных массива. Для массива переменной длины диапазоны должны определятся с помощью числовых литералов, констант(Const),или перечислителей Enum

Const maxLowerBound As Integer = -5
Const maxUpperBound As Integer = 10

'' Объявляет двумерный массив элементов типа STRING фиксированной длины...
Extern arrayOfStrings(maxLowerBound To maxUpperBound, 20) As String

'' Объявляет одномерный массив фиксированной длины элементов типа BYTE,
'' достаточно большой, чтобы хранить значение INTEGER..
Extern arrayOfBytes(SizeOf(Integer)) As Byte

Массив фиксированной длины определяется с помощью ключевых слов Static или Dim, следуя той же форме, как и при декларации.

'' Определяет одномерный массив фиксированной длины типа SHORT, имеющий статическое хранилище.
Static arrayOfShorts(420) As Short

'' Определяет одномерный массив фиксированной длины типа INTEGER, имеющий автоматическое хранилище.
Dim arrayOfIntegers(69) As Integer