- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB数组自定义类型
(2011-01-30 20:07:24)
标签:
分类: VB数组自定义类型━━━━━━━━━━━━━━━━━━━━━━━━━━知识要点
自定义类型
自定义格式:Type 数据类型名? 数据元素名[(下标)] as 类型 下标的意义与数组的下标差不多,具体请参考数组? ……End type
Dim 变量名 as 数据类型名数据类型名.数据元素名[(下标)]= 赋值
Dim 变量名(下标) as 数据类型名?? 定义数组,具体请参考动态数组---------------------------------------------------------1.数组的概念
数组:存放具有相同性质的一组数据,也就是数组中的数据必须是同一个类型和性质。数组元素:数组中的某一个数据项。数组元素的使用同简单变量的使用。
2.静态数组的声明
静态数组:在声明时已确定了数组元素个数。静态数组有一维数组、二维数组、多维数组。但最多为60维。
①一维数组是指具有一个下标的数组声明语句: Dim 数组名(下标)[As 类型]实例:Dim text(4) As Stringtext(0)=thistext(1)=istext(2)=texttext(3)=!实际上就是定义一个含有4个元素的数组text
②二维数组是指具有两个下标的数组声明语句: Dim 数组名(下标,下标)[As 类型]实例:Dim text(2,3) As String? 定义具有两行,三列的数组text(0,0)=atext(0,1)=btext(0,2)=ctext(1,0)=dtext(1,1)=etext(1,2)=f实际上就是定义一个含有6个元素的数组text,第一个下标称行,第二个称列即:?? 0? 1? 2?? 0?? a? b? c?? 1?? d? e? f
③多维数组:即具有多个下标的数组。实际与上面差不多。注意最多只能60维
完整的声明形式:Dim数组名([下标 To]上标[,[下标 To]上标[,…]])As 类型 注意中括号的层次(中括号表示可省略)实例:Dim text(1 To 2, 1 To 3) As Stringtext(1, 1) = atext(1, 2) = btext(1, 3) = ctext(2, 1) = dtext(2, 2) = etext(2, 3) = f[注意]下标、上标必须为常数,不能为表达式或变量:省略下标,默认为0,也可用Option Base语句重新设置下标的值。
3.动态数组的声明
声明形式:Dim 数组名()[As 类型]ReDim [Preserve] 数组名([下标To]上标[,[下标To]上标[,…]])[注意]此时的上标、下标可以是赋了值的变量或表达式。若有Preserve关键字,表示当改变原有数组最末尾的大小时,使用此关键字可以保持数组中原来的数据。
4.控件数组相同类型的控件组成的数组。控件数组的建立:在设计时的窗体上,通过对某控件的复制和粘贴操作:在程序运行时通过Load方法实现。控件数组元素:由控件的Index属性值表示数组的F标。
5.数组的操作
应掌握的基本操作有:数组初始化、数组输入、数组输出、求数组中的最大(最小)元素及下标、求和、平均值、排序和查找等。
5.3 常见错误和难点分析
1.Dim数组声明
有时用户为了程序的通用性,声明数组的上标用变量来表示,如下程序段:?????? n=InputBox(输入数组的上标)?????? Dim a(1 To n)As Integer程序运行时将在Dim语句处显示要求常数表达式的出错信息。即Dim语句中声明的数组上,下标必须是常数,不能是变量。
解决程序通用的问题,一是将数组声明的很大,这样浪费一些存储空间;二是利用动态数组,将上例改变如下:
?????? Dima()As Integer?????? n=InputBox (输入数组的上标)?????? ReDim a(1 To n)As Integer
2.数组下标越标
引用了不存在的数组元素,即下标比数组声明时的下标范围大或小。例如,要形成有如下30项的斐波那契数列:1,1,2,3,5,8,13,21,34,…,317811,514229,832040正确的程序段如下:?????? Dim a(1 To 30) As Long, i%若将For i=3To 30改为For i=1 To 30,程序运行时会显示下标越标的出错信息,因为开始循环时i=l,执行到循环体语句a(i)=a(i-2)+a(i-1),数组下标i-2、i-1均小于下标1。同样若
文档评论(0)