ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Динамические массивы
Иногда бывает трудно заранее определить, сколько элементов нужно будет поместить в список. Для этого используют динамические массивы. Динамические массивы используются в том случае, когда количество элементов массива заранее не известно и будет определяться в процессе выполнения программы. Как следствие, после того, как работа с динамическими массивом в программе будет выполнена, можно освободить память, которую он занимает. Динамический массив объявляется так же, как и любой другой тип массива – оператором Dim. Единственное отличие состоит в том, что не указывается (в скобках) размер массива. Например:
Dim A() As Byte
Этой строкой создается массив, но откладывается решение о том, сколько он будет иметь элементов. Перед тем, как использовать этот массив, необходимо указать его размер, который во время работы программы можно изменять сколько угодно раз. Это делается с помощью оператора ReDim.
ReDim A(5) Следует отметить, что при указании значений для размерностей динамического массива оператором ReDim его тип не может быть изменен. При помощи оператора ReDim можно установить любые значения границ и количество размерностей, а также менять любой из установленных параметров как в сторону уменьшения, так и увеличения.
Dim A() As Byte ReDim A(5) 'Диапазон от 0 до 5 ReDim A(1 To 4) 'Диапазон от 1 до 4 ReDim A(3, 3, 1 To 3) 'Диапазон от 0 до 3, 'от 0 до 3, от 1 до 3 В качестве как верхней, так и нижней границы могут быть использованы не только числа, но и переменные целого типа:
Dim n As Integer Dim A() As Integer n = 10 ReDim A(n)
При каждом выполнении оператора ReDim все значения элементов массива, которые до этого в нем хранились, будут потеряны, так как данный оператор обнуляет все элементы в соответствии с их типом, например числовые массивы принимают значение 0, а символьные "" (пусто). Для того чтобы имеющиеся в массиве значения не пропали при его переопределении, следует использовать служебное слово Preserve:
Sub primer() Dim n As Integer Dim i As Integer Dim a() As Integer n = 10 ReDim a(n) For i = 1 To n a(i) = i ^ 2 Next i ReDim Preserve a(15) For i = 11 To 15 a(i) = i ^ 3 Next i End Sub
В данной программе требуется заполнить массив из десяти элементов квадратами первых десяти натуральных чисел. Затем следует переопреде-ление размера массива до 15 и заполнение новых элементов (с 11 по 15) кубами следующих натуральных чисел. Смотри также примеры 6 и 7.
Не нашли, что искали? Воспользуйтесь поиском:
|