3.静态数组
静态数组是指数组元素的个数是固定不变的,即它们占用的内存空间大小是固定不变的。根据固定大小数组的维数不同,可以将它分为一维数组和多维数组。
声明多维数组的语法格式为:
Dim 数组名([下标边界列表]) [As 数据类型]
下标边界的定义形式:[下标下界 To]下标上界
下标边界列表指用逗号分开的数组各维的下标边界,即
[下标下界 To]下标上界,[下标下界 To]下标上界,……,[下标下界 To]下标上界
(第一维) (第二维) (第n维)
当n=1时,数组称作一维数组;当n=2时,数组称作二维数组;依次类推,当n=m时,数组称作m维数组。
下面举例介绍一维数组的使用。
'声明一个长度为51的字符串数组FriendsName
Dim FriendsName(50) As String
'声明一个长度为11的全局整型数组Class
Public Class(10) As Integer
一维数组中的元素个数为(上界-下界+1)。
为数组赋初值可以采用循环语句,如:
Dim I As Integer
For I = 0 To 11 '循环语句的使用程序流程的控制
C(I) = I
Next I
如果不显式指定下标下界,则数组的下标下界由 Option Base 语句控制。如果没有 Option Base 语句则下界为默认为 0。
数组的维数并不限于2,在VB中,可以扩大至于60,在实际应用上对三维以上的数组的应用是不多的。定义一个多维数组时只需一条Dim语句指定数组的所有下标边界即可,使用多维数组的可以很方便的表示一些有意义的统计数据。例如:
Dim Profit(16,10,12) As Currency
这个Profit数组可用来表示以店名、部门及月份为参数的某百货公司的利润。如:Profit(2,8,11)代表了第二分店的第八部门在11月份的利润。
4.动态数组
有时在数组开始使用前,不能知道需要多大的数组才能满足实际需要。当然可以把数组的大小定义到足够大来满足任意的实际应用需要,这种方法效率很低(大量浪费内存空间)。如果使用动态数组,就可以在程序运行时根据实际需要,精确定义数组的大小。
在声明数组时,不给出维数列表就是将数组声明为动态数组。例如:
Dim MyArry() As Integer
在使用动态数组前,必须使用ReDim语句把它重新定义。如前面声明的数组MyArry,可以用以下语句将它定义为一个动态二维数组。
ReDim MyArry(10,10)
还可以通过重复执行ReDim语句,多次定义动态数组。使用ReDim最多能定义数组的维数是60。ReDim语句可以改变数组每维的元素个数,但不能改变维数。下面是对ReDim语句的一个标准应用举例。