文档介绍:第4章数组
引言
数组的概念
固定大小数组
动态数组
数组的基本操作
控件数组
巩固与提高
引言
在程序中处理数据时,对于输入的数据、参加运算的数据、运行结果等临时数据,通常使用变量来保存,由于变量在一个时刻只能存放一个值,因此当数据不太多时,使用简单变量即可解决问题。
但是,有些复杂问题,甚至是一些简单的问题,利用简单变量进行处理,就很不方便,甚至是不可能的。例如:
1、输入50个数,按逆序打印出来。
2、输入100名学生某门课程的成绩,要求把高于平均分的那些成绩打印出来。
3、统计高考中各分数段的人数。
4、某钢厂有近万名职工,搞一个工资报表。
5、窗体上的几个同类型控件,有着某种关系。
在这些问题中,有的数据太多,而简单变量名个数有限,难以表达,即使能表达,变量之间太松散,不能体现变量之间的联系;有的用这些数据算出一个中间结果,利用该结果再次与每个数据进行运算,使用简单变量难以完成。
这就需要我们构造新的数据结构——数组。
数组的概念
数组的定义
数组是一组具有相同类型的有序变量的集合。数组可用于存储成组的有序数据。使用数组就是用一个相同的名字引用这一组变量中的数据,这个名字称为数组。
根据数组的定义,我们必须明确以下几点:
(1)数组的命名与简单变量的命名规则相同。
(2)数组中的元素是有序排列的。
(3)数组的元素个数是有限的,数学中的无限数组不能表示。
(4)数组的类型也就是该数组的下标变量的数据类型。
VB中,可以说明任何基本数据类型的数组(包括用户自定义类型),但是一个数组中的所有元素应该具有相同的数据类型,只有当数据类型为Variant型时,各个元素的数据类型可以不同。
数组的概念
数组必须先声明后使用,数组声明的格式为:
Dim | Private | Public | static 数组名(<维数说明>) [As 类型]
对数组进行声明应该包括:数组名、维数、大小、类型以及作用域。数组的命名规则和变量的命名规则一致。
Dim:用于在过程(Procedure)、窗体模块(Form)或标准模块(Module)中声明数组变量。在过程中使用Dim时,所声明的数组变量的作用域为过程级(作用范围为数组声明对数组进行声明应该包括:数组名、维数、大小、类型以及作用域。数组的命名规则和变量的命名规则一致。
Dim:用于在过程(Procedure)、窗体模块(Form)或标准模块(Module)中声明数组变量。在过程中使用Dim时,所声明的数组变量的作用域为过程级(作用范围为数组声明
Private:用于在窗体模块、标准模块的通用声明段中声明一个模块级的私有数组变量,其作用域为模块级。在窗体模块或标准模块的通用声明段使用Private和使用Dim其作用效果相同。
Public:用于在标准模块中声明公用数组变量,所声明的数组变量的作用语为整个应用程序。在VB中,允许在窗体模块中使用Public声明公用简单变量,但是不允许在窗体模块中使用Public声明公用数组变量。
Static:用于在过程中声明静态数组变量,所声明的静态数组变量的作用域为该过程。与前面所讲的静态变量类似,静态数组的特点是,在调用过程时,它的各个元素会保留上次退出该过程时对应元素的值。
数组声明后,仅仅表示在内存分配了一段连续的存储空间。在对数组进行操作时,一般是针对某个元素进行操作。数组元素是带有下标的变量,是数组的一个成员,其一般形式为:
数组名(下标1 [,下标2,……])
如: A(2) B(2+2,1) C(1*2,3,1) D(i)
下标表示顺序号,每个数组元素有一个唯一的顺序号。下标可以是常数、数值变量、算术表达式甚至可以是一个数组元素。下标中如含有变量,使用前该变量应提前赋值。多个下标之间应该由逗号分隔。
下标值应该为整数,否则计算机将对下标自动取整。比如a()将被视为a(3) ,a(-)将被视为a(-4)。