VB6 Tutorial 52: Dynamic Array

By | 2018-05-25

In case of a fixed size array, we have seen that the size of the array is fixed or unchanged, but there may be some situations where you may want to change the array size. A dynamic array can be resized at run time whenever you want.

Declaring dynamic arrays

Declare the array with empty dimension list. For example:

Dim arr() As Integer

Resize the array with the ReDim keyword. For Example:

ReDim arr(5) As Integer

or

ReDim arr(2 To 5) As Integer

Example

Dim ar() As Integer
ReDim ar(2) As Integer

QuickHint:

Unlike the Dim and Static statements, the ReDim statements are executable. So a ReDim statement can only be in a procedure and when you execute the ReDim statement, all the values stored in the array are lost. You can use the ReDim statement repeatedly to change the array size.

Preserving the values of Dynamic arrays

The ReDim statement deletes all the values stored in the array. You can preserve the element values using the Preserve keyword. So using Preserve keyword with ReDim statements enables you to change the array size without losing the data in the array.

Example

Dim arr() As Integer
ReDim arr(2) As Integer
For i = 0 To 2
    arr(i) = InputBox("Enter the value")
Next i
ReDim Preserve arr(3) As Integer
arr(3) = 9
Print arr(0), arr(1), arr(2), arr(3)

Output

If the input values through InputBox are 5,6,7 then the following will be printed on the form.

5     6     7     9

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.