有時我們在使用數組時卻無法估計數組的大小,於是很容易想到動態數組,也就是在使用的過程中動態地改變數組的大小。這在VB中很容易實現,以下就以具體的例子來講解:
在VB中定義動態數組通常分兩步驟:
(1)在窗體層或標準模組中用Dim、Private或Public宣告一個沒有下標的陣列(括號不能省略),
(2)過程中用ReDim語句定義帶下標的數組
ReDim語句的作用,是重新指出數組的大小。它是在程式執行到ReDim語句時才分配儲存空間。
格式:ReDim(數組名)(下標)[As(類型)]
功能:改變動態陣列的大小和儲存空間。
說明:
(1)下標可以是常數,也可以是具有確定值的變數。
(2)語句中各參量的意思與用Dim定義數組的語句相同。
(3)ReDim語句只能用於動態數組,它可以改變每一維的大小,但不能改變維數。
(4)當程式編譯時,ReDim語句中的所有陣列都被說明為動態數組。在程式運行中,當執行到ReDim語句時,就把新的上下界重新分配給數組,數組元素的值將被初始化,所有的數值元素的值被置為0,字串元素被置為空字符串。
(5)ReDim語句可以像Dim語句一樣定義數組。在同一程式中,ReDim語句還可以多次使用。在用:ReDim語句重新定義數組之前,可以使用:Erase語句將原來的陣列刪除
實例:
Dimaa()AsLong'定義一個動態數組
Redimaa(10)'調整動態陣列的大小
dim i as integer
for i=1 至 10
aa(i) = i
next
Redim aa(5) '又一次調整大小
……其它的操作