Programming: Visual Basic - Visual Basic 6.0
Объявление динамического массива
В случае, когда размер массива заранее
неизвестен. Visual Basic позволяет использовать динамические массивы, размеры
которых можно изменять во время выполнения. Применение динамических массивов
позволяет эффективно управлять памятью, выделяя память под большой массив лишь
на то время, когда этот массив используется, а затем освобождая ее.
Создание динамического массива осуществляется
следующим образом:
1. Объявляется массив с помощью
ключевых слов, используемых при создании массива фиксированного размера. Список
размерностей массива остается пустым. При объявлении глобального массива необходимо
выбрать ключевое слово Public, при объявлении массива на уровне модуля — Dim,
при объявлении массива в процедуре — Dim или static. Например,
Dim intCountPar О As Integer
2. С помощью выполняемого оператора
ReDim указывается размерность массива в виде числа или выражения. Синтаксис
оператора ReDim аналогичен синтаксису оператора объявления массива фиксированного
размера. Например, размерность массива может быть задана любым из следующих
способов:
ReDim intCountPar (х)
ReDim intCountPar (20)
ReDim intCountPar (1 То 20)
При выполнении оператора ReDim данные,
размещенные в массиве ранее, теряются. Это удобно в том случае, если данные
вам больше не нужны и вы хотите переопределить размерность массива и подготовить
его для размещения новых данных. Если вы хотите изменить размер массива, не
потеряв при этом данных, то необходимо воспользоваться оператором ReDim с ключевым
словом Preserve. Например, приведенный ниже программный код увеличивает размер
массива на единицу без потери хранящихся в массиве данных:
ReDim Preserve intCountPar (X +
1)
Замечание
Использование оператора ReDim
с ключевым словом Presterve позволяет изменять только верхнюю границу последней
размерности многомерных размеров.
Назад | Содержание | Вперёд
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|