文章作者 100test 发表时间 2007:03:10 18:28:34
来源 100Test.Com百考试题网
1、数组的引出
数组的基本功能是存储一系列类型一致的变量,并且可以用相同名字引用这些变量,引用时用数字(索引)来识别它们(如控件数组Label1(Index))。当使用多个类型和功能一致的数据时,使用数组可以缩短和简化程序。
数组——用一个名字来代表的按一定顺序排列的一组具有相同属性、类型的数据或变量。
数组元素——数组中的每个数据或变量称为数组元素。
数组名的命名规则——和变量名的规则相同。
例如用户要记录一个班级的同学的名字,可以为每一个同学定义一个变量用来记录他们的名字,例如studentl、student2……。但是这样做显然是一种非常笨的方法,因为这些变量的类型都是相同的,并且功能相似,都是用来记录学生名字的。因此,采用数组的方法就会简单得多,利用数组只需要定义一个数组变量student(下标),然后利用数组的索引就可以识别数组中的每一个元素。如下图所示,显示了用一维数组存储学生姓名的方法。
张三 | 李四 | 王五 | 徐六 | …… |
student(l) | student(2) | student(3) | student(4) | …… |
注意:
2、数组分类
按照长度分——可以分成两种类型的数组:一种是固定大小的数组,这种数组总是保持同样的大小称静态数组(定长数组),另一种是在运行时大小可以改变的称动态数组。
按照级数分——可以分为一维数组和多维数组。
前面介绍的数组主要是一维数组,这种数组适用于存放一系列没有树型关系的一维数据,如姓名、单据等数据。但如果数据中有层次关系,例如要记录一个学校所有班级的学生记录,当然也可以用一维数组来实现,但是这样就失去了学生所在班级的信息,如果两个班级中有重名的学生,就更加无法区分。这时,利用多维数组就可以很方便地解决这一问题。
我们可以将这样的数据存储在一个二维数组中,二维数组有两个索引,第一个表示行(数组中的班级顺序),第二个表示列(班级中的成员)。如下表,显示了用二维数组存储班级成员的方法。
班级1 | 班级2 | 班级3 | … | ||||||||||||||||||||
|
例如王菲是第三行、第二列,可表示是为Student(2,1)。
注意:
缺省条件下,数组的第一个元素的下标为0。
在增加数组的维数时,数组所占的存储空间会大幅度增加,所以要慎用多维数组。使用Variant数组时要更加小心因为他们需要更大的存储空间。
3、数组的定义与声明
在使用数组之前,一般要声明数组,当然也可以采用隐式声明的方法。声明数组的方法与声明各种类型的变量一样,可以用Dim,Private,Public或Static来声明,只不过声明数组时需要设置数组的上下界,也就是数组下标索引的起始值和中止值。
(1)静态数组:
其声明的语法如下:
Dim│Private│Public│Static 数组名([下标下界 To]下标上界) [As 数据类型]
说明:
数组名后是圆扩弧“( )”扩起来,不能采用其它符号。
如果不指明数组的下标下界,系统默认为是0,数组的下标上界,使用长整型(Long)数据,在VB中规定上界不得超过2,147,483,647。
下标的下界不能大于下标的上界;
可以用变量名或常数名(以及实数)作为下标边界,当下标的边界是常数名时,数组的大小固定(静态数组),当下标的边界是变量名时,数组的大小可作动态定义(动态数组)。
例(见教材P43):
★ Dim A(10) As Integer