文档详情

数组和自定义类型.ppt

发布:2025-04-10约6.77千字共10页下载文档
文本预览下载声明

2.数组的概念概念:在VB中,把一组相互关系密切的数据放在一起并用一个统一的名字作为标志,就是数组。一般来说,数组就是一组相同类型的变量的集合。数组的分类:按数组的大小分为定长数组(静态)和变长数组(动态)。按元素的类型分为数值型、字符型、日期型、变体数组等。按数组的维数分为一维数组、二维数组、多维数组。按对象不同分为菜单对象数组和控件数组。数组必须先声明后使用。声明数组名、类型、维数和数组大小。使用数组元素时,下标不能超出上下界范围,5.1.2静态数组及声明在声明时确定了大小的数组称为静态数组。静态数组从建立到消亡整个阶段中数组的大小是固定的。静态数组的声明形式:Dim数组名(下标1[,下标2…])[As类型]声明了数组的名、维数、大小、类型(省略时为变体类型)维数:几个下标为几维数组,最多60维。下标:[下界To]上界省略下界为0,必须为常数。每一维大小:上界-下界+1数组大小:每一维大小的乘积例:Dimmark(1to100)AsIntegerDimlArray(0To3,0To4)AsLong共有4×5个元素等价于:DimlArray(3,4)AsLong注意:(1)下界缺省为0,也可重新定义数组的下界。例如: OptionBase1(2)错误的声明:下标是变量n=Inputbox(输入n):Dimx(n)AsSingle (3)在数组声明中的下标说明了数组的整体,即每维的大小;而在程序其他地方出现的下标表示数组中的一个元素。两者写法形式相同,但意义不同。例如: Dimx(10)AsInteger 声明了x数组有11个元素 x(10)=100 对x(10)这个数组元素赋值5.1.3动态数组及声明*动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时,随时用ReDim语句重新指出数组大小。建立动态数组要分两步:(1)用Dim语句声明数组,但不能指定数组大小Dim数组名()As数据类型(2)用ReDim语句动态地分配元素个数ReDim数组名(下标[,下标2…])例:Dims()AsSingleSubForm_Load()…ReDims(4,8)…EndSub定义动态数组大小注意:*Dim是说明语句,可出现在程序的任何地方,而ReDim是执行语句,只能在过程中。在过程中可多次使用ReDim语句来改变数组的大小和维数,但不能改变类型。可在ReDim后加Preserve参数用来保留数组中的数据,若使用Preserve参数后,只能改变最后一维的大小。Dim语句中的下标只能是常量,ReDim中的下标可以是常量,也可以是有了确定值的变量或表达式。静态数组在程序编译时分配存储单元,动态数组在运行时分配存储单元。例5.2编一个程序,显示有n个数的非波那契数序列。5.2数组的基本操作*1.数组赋初值(1)用循环Fori=1To10 A(i)=i+3Nexti注意:(1)利用Array对数组各元素赋值,声明的数组是动态数组或连圆括号都可省的变量,并且其类型只能是Variant。(2)数组的下界为零,也可由OptionBase决定。上界可由Array函数括号内的参数个数决定,也可通过函数Ubound获得。下界可由LBound函数获得。格式:UBound(数组名[,N])其中N指定返回哪一维的上界。(2)Array函数(只能是一维变体数组)DimbAsVariantb=Array(abc,def,67)Fori=0ToUBound(b)Printb(i);;Nexti*2.数组的整体赋值在VB6.0中,提供了数组直接对数组的赋值。例如:Dima()AsVariant,b()AsVariant,i%a=Array(1,2,3,4,5)b

显示全部
相似文档