- 15
- 0
- 约3.94千字
- 约 22页
- 2016-10-26 发布于广东
- 举报
第5章 数组 5.1 数组的概念 数组是由名称相同而下标(索引)不同的一组下标变量组成的集合 它有以下基本特性: (1)整个数组中的下标有上界和下界,数组的元素在上下界内是连续的,下标的上下界决定了该数组中所包含的元素的个数(数组的大小)。 (2)一个数组中的所有元素具有相同的数据类型。 (3)根据数组中下标的个数将数组分为一维数组和多维数组。 5.2 数组的声明及初始化 5.2.1 数组的声明 1.声明格式 声明关键字 数组名(下标1上界 [,下标2上界]…) [As 数据类型] 说明: (1)语句中的“声明关键字”可以是Dim、Private、Static、Public等,通常用Dim,与声明变量的含义相同。 (2)当省略As子句后面的数据类型时,表示数组为Object类型 (3)数组每一维的下标下界从0开始计数,每一维的下标上界分别由“下标1上界”、“下标2上界”、…来指明,由此就确定了数组每一维的大小。 如:Dim s(5) As Single (4)当定义多维数组时,各维之间要用逗号隔开,每一维指定下标上界即可。如:Dim a(1, 3) As Double表示定义了一个二维数组a,共有8个元素,在逻辑上,可以理解为这8个元素排列成2行4列的形式: a(0,0) a(0,1) a(0,2) a(0,3) a(1,0) a(1,1) a(1,2) a(1,3) 在计算机的内存中,二维数组各元素所占的内存单元是按行连续排列的,即先存放二维数组中第1行的元素,再存放第2行的元素,……,直到二维数组的最后一行,如图所示。 (5)在定义数组时,每一维的元素个数必须是常数,不能是变 量或表达式。如,以下定义数组就是不合法的: n = 10 Dim s(n) As Single (6)可以声明没有大小的空数组,但这种数组必须用ReDim语句重新定义大小后才能使用。 如:Dim a() As Integer, b(,) As Long 表示定义了一个一维的空数组a和一个二维的空数组b。 5.2.2 数组的初始化 一维数组的初始化: 声明关键字 数组名() As 数据类型={初始值序列} 二维数组的初始化: 声明关键字 数组名(,) As 数据类型={{第1行数据},{第2行数据}} (1)格式中,“初始值序列”要用大括号括起来,且其中的各数据必须为常数,各数据间用逗号隔开。 如:Dim a() As Integer={1,3,5,7,9} 再如:Dim b(,) As Integer={{1,2,3,4},{5,6,7,8}} (2)当对数组进行初始化时,不能声明下标上界,数组的大小由系统根据初始值序列中数据的个数来确定。 如:Dim c(5) As Integer={1,2,3,4,5,6}是错误的 5.2.3 重新定义数组的大小 定义语句格式: ReDim [Preserve] 数组名(下标1上界 [,下标2上界]……) 说明: (1)ReDim语句的作用是用来按定义的上界重新给数组分配存储单元。 (2)ReDim语句是一个可执行语句,它只能出现在过程中。而Dim语句是说明性语句,可以出现在程序的任何地方。 (3)可以用ReDim语句多次反复地定义同一个数组,并改变数组的大小,但不能用ReDim语句改变数组的维数和数据类型。如: Dim x(3) As Integer ‘声明数组x,共4个元素 …… ReDim x(10) 重新定义数组x的大小,使数组x中元素的个数增加到11个 再如: Dim y(,) As Integer 声明一个没有大小的二维空数组y …… ReDim y(3,5) ‘重新定义数组y的大小,使数组y中元素的个数为24个 (4) UBound函数与LBound函数 UBound(数组名 [,维号]) LBound(数组名 [,维号]) (5)用ReDim语句重新定义一个数组的大小时,数组中各元素原有的值将丢失。 具有Preserve关键字的ReDim语句可以不丢失数组中原有数组元素的数据 如: ReDim Preserve DynArray(UBound (DynArray) + 1) 5.2.4 结构类型的数组 在结构类型的数组中,每个数组元素都是结构类型,每个元素都具有各自的一套结构成员。 如:假设程序中已定义了如下表示学生信息的结构类型Student Structure Student Dim Sno As String Dim Sname As String Dim
您可能关注的文档
- 新UML系统建模及系统分析与设计 电子教案 王欣 第4章 面向对象系统分析与对象类建模.ppt
- 新UML系统建模及系统分析与设计 电子教案 王欣 第5章 面向对象系统设计与行为建模.ppt
- 新UML系统建模及系统分析与设计 电子教案 王欣 第6章 系统体系结构建模.ppt
- 新UML系统建模及系统分析与设计 电子教案 王欣 第7章 软件复用与软件构件技术.ppt
- 新UML系统建模及系统分析与设计 电子教案 王欣 第8章 Rose的使用.ppt
- 新UML系统建模及系统分析与设计 电子教案 王欣 第9章 信息系统开发实例.ppt
- 新UML与Rose软件建模案例教程 教学课件 陈承欢 第1章 初识UML.ppt
- 新UML与Rose软件建模案例教程 教学课件 陈承欢 第2章 用户登录模块建模.ppt
- 新UML与Rose软件建模案例教程 教学课件 陈承欢 第3章 用户管理模块建模.ppt
- 新UML与Rose软件建模案例教程 教学课件 陈承欢 第4章 基础数据管理模块建模.ppt
原创力文档

文档评论(0)