第 7 章 数组与自定义类型

44
7 7 7 第 第第第第第第第第 第 第第第第第第第第 7.1 第第第第第第第 7.2 第第第第第 7.3 第第第第第第第 7.4 第第第第 7.5 第第第第 7.6 第第第第第第第

Upload: binh

Post on 19-Jan-2016

169 views

Category:

Documents


0 download

DESCRIPTION

第 7 章 数组与自定义类型. 7.1 数组的基本概念 7.2 数组的声明 7.3 数组的基本操作 7.4 常用算法 7.5 控件数组 7.6 自定义数据类型. 引例. 求某门课 6 个学生成绩中,高于平均分的学生人数 方法一 :用 6 个变量分别存放 6 个学生的成绩。. Private Sub Command2_Click() Dim x As Single, y As Single, z As Single, u As Single, v As Single, w As Single - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 7 章 数组与自定义类型

第7

数组与自定义类型

第第 77 章 数组与自定义类章 数组与自定义类型型

7.1 数组的基本概念7.2 数组的声明7.3 数组的基本操作7.4 常用算法7.5 控件数组7.6 自定义数据类型

Page 2: 第 7 章 数组与自定义类型

第7

数组与自定义类型

引例 求某门课 6 个学生成绩中,高于平均分的学生人数

方法一:用 6 个变量分别存放 6 个学生的成绩。

Page 3: 第 7 章 数组与自定义类型

第7

数组与自定义类型

Private Sub Command2_Click() Dim x As Single, y As Single, z As Single, u As Single, v As Single, w As Single Dim avg As Single, t As Integer x = Val(InputBox(" 请输入第 1 个学生的成绩 ", " 输入 ", 0)) y = Val(InputBox(" 请输入第 2 个学生的成绩 ", " 输入 ", 0)) z = Val(InputBox(" 请输入第 3 个学生的成绩 ", " 输入 ", 0)) u = Val(InputBox(" 请输入第 4 个学生的成绩 ", " 输入 ", 0)) v = Val(InputBox(" 请输入第 5 个学生的成绩 ", " 输入 ", 0)) w = Val(InputBox(" 请输入第 6 个学生的成绩 ", " 输入 ", 0)) Print x; y; z; u; v; w avg = (x + y + z + u + v + w) / 6 If x > avg Then t = t + 1 If y > avg Then t = t + 1 If z > avg Then t = t + 1 If u > avg Then t = t + 1 If v > avg Then t = t + 1 If w > avg Then t = t + 1 Print " 平均成绩为: "; avg Print " 高于平均成绩的有 " & t & " 人 "End Sub

Page 4: 第 7 章 数组与自定义类型

第7

数组与自定义类型

引例求某门课 6 个学生成绩中的高于平均分的学生人数 方法一:用 6 个变量分别存放 6 个学生的成绩。

缺点:如果处理的数据增多,需要定义许多变量,给程序的编写带来极大的不方便。

方法二:用一个变量来接收 6 个学生的成绩(多次赋值)。

Page 5: 第 7 章 数组与自定义类型

第7

数组与自定义类型

Private Sub Command1_Click() Dim avg As Single, x As Single, i As Integer, sum As Single, t As Integer For i = 1 To 6 x = Val(InputBox(" 请输入第 " & i & " 个学生的成绩 ", " 输入 ", 0)) sum = sum + x Print x; Next i avg = sum / 6 For i = 1 To 6 x = Val(InputBox(" 请输入第 " & i & " 个学生的成绩 ", " 输入 ", 0)) If x > avg Then t = t + 1 Next i Print Print " 平均成绩为: " & avg Print " 高于平均成绩的有: " & t & " 人 "End Sub

Page 6: 第 7 章 数组与自定义类型

第7

数组与自定义类型

引例求某门课 6 个学生成绩中的高于平均分的学生人数方法一:用 6 个变量分别存放 6 个学生的成绩。

缺点:如果处理的数据增多,需要定义许多变量,给程序的编写带来极大的不方便。

方法二:用一个变量来接收 6 个学生的成绩(多次赋值)。缺点:已处理过的数值不保存,再次对数据处理时,要重

新输入。

Page 7: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.1 数组概述

1 、数组的有关概念( 1 )数组: 是一个由多个同类型变量组成的集合,简单

的讲就是一组同类型的变量。( 2 )数组名: 这组变量有统一的名称,就是数组名。( 3 )数组元素: 构成数组的成员。每个数组元素和一个

普通变量一样能存放一个数据。( 4 )下标:用来标识数组中的每一个元素的序号。 如,有一个数组 a ,数组元素可分别表示为: ……a(1), a(2), a(3), a(4)……

Page 8: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.1 数组概述

2 、数组的特点( 1 )数组由若干个数组元素组成,数组元

素的数据类型一致。( 2 )数组元素是有次序存放的,下标代表

它在数组中的位置。( 3 )数组中各元素之间有内在联系,在内

存中占连续的一段存储单元。

Page 9: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.1 数组概述

3 、数组的分类( 1 )按照定义时数组元素个数确定与否,数

组可分为: 静态数组:定义时数组元素的个数就已经确定 动态数组:定义时数组元素的个数不确定,在

程序运行时根据需要才确定数组元素的多少( 2 )按照数组元素下标的个数,数组可分为:

一维数组:数组元素有一个下标 二维数组:数组元素有两个下标 多维数组:数组元素有多个下标

Page 10: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维静态数组

1 、一维静态数组的定义: Dim 数组名 ( 下界 To 上界 )[As < 数据类型 >]

其中:( 1 )数组名 :数组的名称,命名要符合变量命名规则( 2 )下界 To 上界:维说明,确定数组元素下标的取值

范围及数组元素的个数 ( 上界 - 下界 +1) 。( 3 ) [As < 数据类型 >] :用来指明数组元素的类型,默

认为变体类型。

Page 11: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维静态数组

举例:定义一个用来存放 10 个整数的数组。

Dim a(1 To 10) As Integer 说明 (1) 定义一个数组,数组名为 a (2) 数组中有 10 个数组元素,数组元素分别表

示为: a(1) , a(2) ,…… a(10) ( 3 )数组元素的数据类型为整型,使用时与

普通整型变量的使用方法类似

Page 12: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维静态数组

2 、注意事项( 1 )维说明中下界和上界只能取直接常量或直接常量

表达式,符号常量和符号常量表达式,不能为变量或包含变量的表达式。

( 2 )下界维说明可以省略,默认从 0 开始 Dim x(6) As String * 6

( 3 )维说明中使用的常量可以为小数,系统自动 四舍五入取整。

Dim x(1 To 4.3 + 2) As Integer定义数组 x 是有 x(0)到 x(6) 连续的 7 个数组

元素,每个元素可以存储 6 个字符

Dim n As Integern=10Dim a(1 To n) As Single

Const n As Integer = 6 Dim x(1 To n) As Double Dim y(1 To n + 6)

Page 13: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维静态数组

2 、注意事项 ( 4 )用“Option Base 1”可设定数组元素下界为

1 ,以改变下界默认值为 0 ,该语句必须放在窗体或模块的通用声明段中。

( 5 )一维静态数组在同一过程中只能 声明一次 ( 6 )声明数组 后,各数组元素的 初值与声明普通变

量相同。 ( 7 )声明数组和 声明变量一样,数组 也有作用范围。

Dim a(1 To 6) As IntegerDim a(8) As Single

Page 14: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维静态数组

3 、使用数组编程的一 般步骤:

( 1 )定义数组( 2 )为数组元素赋值( 3 )运算处理数组中的数据( 4 )输出结果

Page 15: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维静态数组

例 7-1 统计某门课 6 个学生成绩中高于平均分的学生人数。解题步骤

( 1 )定义一个数组用来存放 6 个学生的成绩 ( 2 )给数组赋值, 将 6 个学生的成绩存入数组 ( 3 )求平均成绩,比较,统计出高于平均分的学生人数 ( 4 )将结果输出

< 课堂练习 > :用数组求 解 Fibonacci 数列的前 20 项。< 课堂练习 > :用数组求某门课 10 个学生中的最低成绩、最高成绩和平均成绩。

如果在编写程序时学生人数不确定, 该如何解决?

Page 16: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维动态数组

1 、概念:动态数组是指在 声明数组时不给 出数组的大 小,而是在程序执行到ReDim语句时才确定大 小。

2 、定义 创建动态数组通常分为两 步:

第一 步:在标准模块、窗体的通用程序段或过程中,声明一个省略维说明的数组, 格式为:

Dim 数组名 () [As< 数据类型 >]第二 步:根据应用需要,用 ReDim声明大小,格式为:ReDim [Preserve] 数组名 ( 下界 To 上界 ) [As < 数

据类型 >]

第一 步可以省略

Page 17: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维动态数组

3 、注意事项( 1 ) Dim 和 ReDim语句中数组元素的数据类型必须一致

( 2 )声明动态数组的 ReDim语句可以使用变量

( 3 )同一个动态数组可以多次重 复声明,重复声明时数组元素的值均 被初始化,若想保留原来的值,可以在 ReDim语句中加关键字 Preserve

Dim a() As IntegerReDim a(1 To 8) As IntegerDim a() As IntegerReDim a(1 To 8) As Single

Dim a() As Integer, n As Integer n = 9 ReDim a(n) As Integer

Page 18: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维动态数组

Dim a() As Integer, n As Integern = 6ReDim a(1 To n) As IntegerFor i = 1 To 6 a(i) = 8Next i

8

8

8

8

8

8a(1)

a(3)a(4)a(5)a(6)

a(2)

0

0

0

0

0

0

0

0

a(1)

a(3)a(4)a(5)a(6)

a(2)

a(7)a(8)

8

8

8

8

8

8

0

0

a(1)

a(3)a(4)a(5)a(6)

a(2)

a(7)a(8)

ReDim a(1 To 8) As IntegerReDim Preserve a(1 To 8) As Integer

Page 19: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维动态数组

例 7-2 :求某门课程 n 个同学的平均成绩、最高成绩和最低成绩。

分析:( 1 )学生人数在编写程序时不能确定( 2 )用于存储学生成绩的数组元素的多少 随学生人数的不

同而异 解题步骤: ( 1 )定义一个动态数组,用来存放 n 个学生的成绩 ( 2 )给数组赋值, 将学生成绩存入数组 ( 3 )对数组中的数据 进行计算、比较 ( 4 )输出结果

Private Sub Command2_Click() Dim cj() As Single, n As Integer, i As Integer Dim avg As Single, max As Single, min As Single n = Val(InputBox(" 请输入学生人数 ", " 输入 ", 0)) ReDim cj(1 To n) As Single For i = 1 To n cj(i) = Val(InputBox(" 请输入第 " & i & " 个学生的成绩 ", " 输入 ", 0)) Next i max = cj(1) min = cj(1) For i = 1 To n avg = avg + cj(i) If cj(i) > max Then max = cj(i) If cj(i) < min Then min = cj(i) Next i avg = avg / n For i = 1 To n Print cj(i); Next i Print Print " 平均分为: " & avg Print "最高成绩为 " & max Print "最低成绩为 " & minEnd Sub

Page 20: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.2 一维动态数组

< 课堂练习 > :某门课 n 个学生中,将高于平均分的成绩输出。

解题步骤: ( 1 )定义一个动态数组,用来存放 n 个学生的成绩 ( 2 )给数组赋值, 将学生成绩存入数组 ( 3 )求出平均分,然后比较,将高于平均分的学生

成绩输出

Private Sub Command2_Click() Dim cj() As Single, n As Integer, i As Integer Dim avg As Single, max As Single, min As Single n = Val(InputBox(" 请输入学生人数 ", " 输入 ", 0)) ReDim cj(1 To n) As Single For i = 1 To n cj(i) = Val(InputBox(" 请输入第 " & i & " 个学生的成绩 ", " 输入 ", 0)) avg = avg + cj(i) Next i avg = avg / n For i = 1 To n Print cj(i); Next i Print Print " 平均分为: " & avg Print " 高于平均分的成绩有: " For i = 1 To n If cj(i) > avg Then Print cj(i); Next iEnd Sub

Page 21: 第 7 章 数组与自定义类型

第7

数组与自定义类型

作业与思考题

作业: 课本 p148 1 、 2 、 3 课后预习: 1 、为数组赋值的四种方法 2 、二维数组

Page 22: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.3 一维数组的 基本操作

1 、为数组元素 提供数据(1) 用循环逐一为数组元素赋值

(2) 使用 InputBox()函数为数组元素 逐一赋值

Dim a(1 to 10) as SingleFor i=1 to 10 a(i)=0 Next i

Dim w(1 To 3) As SingleFor i = 1 To 3 w(i) = InputBox(“输入第” & i & “个的值 ")Next i

Page 23: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.3 一维数组的 基本操作

(3) 使用 Array()函数为数组元素同时赋值 对于变体类型的一维动态数组, 还可采用 Array()函数为数组各元素同

时赋值。格式为:数组名 =Array ( < 数组元素值表 > )

其中 < 数组名 > 可以是已经声明过的变体类型的动态数组 ,也可以

是没有声明过的数组名。 数组元素的个数由 < 数组元素值表 > 中数据个数 决定,数组的

下标下界可由 LBound()函数得到(默认为 0 ),下标上界可由 UBound ()函数得到。

Page 24: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.3 一维数组的 基本操作

注意: Array函数只能对 一维动态数组 赋值。若提前声明了数组,类型 必须为变体类型 。

a = Array(1,3,4,5,-6) b = Array("abc","def","67","5","-6")For i = 0 To UBound(a) Print a(i); " ";Next iPrintFor i = 0 To UBound(b) Print b(i); " ";Next i

Page 25: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.3 一维数组的 基本操作

(4) 用 Split( )函数为数组元素同时赋值 Split( )函数为数组元素赋值的 基本方法是:将要赋值的数据以 字符串的形式用固定的分 隔符分隔开(如“,”),再通过 Split()函数将其分离成一个一个的数据 后,存放到数组各元素中, 格式为:

< 数组名 >=Split ( < 字符串表达式 > ,分隔符)其中: <字符串表达式 > 是一组将要为数组赋值的数据,这 些数据之间有固定的分 隔符。

该方法通常和文本框配合使用解决大量数据处理 问题。注意: Split()函数要求 所赋值的数组 必须是动态数组 ,可以不提前声

明,如果提前声明则必须声明为字符型。

Page 26: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.3 一维数组的 基本操作

例 7-3 使用文本框录入大量的数据, 将它们保存在一维数组中, 并打印输出(每行显示 8个数据)。

Page 27: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.3 一维数组的 基本操作

(5) Split函数和 Array函数使用时注意的 问题① Split函数只能给 字符型数组赋值 ;而 Array函数只能给 变体类

型数组赋值。② 这两个函数只能给 一维数组 赋值,如果要为二维数组赋值, 必须先将数据放入一维数组,再通过程序的方法 转入二维数组。

③ 用 Array函数赋值的数组元素的 最小下标受Option Base 语句影响,当“Option Base 0”或默认情况下,被赋值数组的最小下标为 0;当“Option Base 1”时,被赋值数组的 最小下标为 1;用 Split函数赋值的数组的 最小下标与 Option Base 语句无关,不管Option Base 语句设置为 0还是 1 ,数组元素的最小下标均从 0 开始。

Page 28: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.3 一维数组的 基本操作

2 、数组输 出 数组元素可通过 For循环或 For循环嵌套,使用

Print 方法实现输出到窗体或图片框中。

Page 29: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.4 常用算法举例

1 、简单统计

例 7-4 已知 10 名学生的学号和一门课程的考试成绩,如下:

把高于平均分的学生学号和成绩显示出来。

学号 001 002 003 004 005 006 007 008 009 010

成绩 84 96 70 59 42 88 83 90 78 64

Page 30: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.4 常用算法举例

例 7-5 输入多名学生的一门课程的考试成绩,统计各分数段学生人数。

例 7-6 输入一串字符,统计各字母出现的次数(不区分大小写),并输出统计结果。

< 课堂练习 > 用随机函数产生 10 个两位数的整数放入数组中,求 最大值及其位置。

Page 31: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.4 常用算法举例< 课堂练习 > 用随机函数产生 10 个整数放入数组中, 找出其中的最小数并

放入数组的第一个元素中。2 、排序 排序是将一组数按 递增或递减的次序排列。常用排序的有选择法、冒泡

法、插入法、希尔法等。 例 7-7 用选择排序法,将 10 个整数( 随机函数产生)按照由小到大的顺序递增排列。

选择排序法算法步骤如下:(1) 从 n 个数中 找出最小数的下标, 并将最小数与第一个数 交换位置,这样

就可将 n 个数中的 最小数放在数组中的第一个数位置上。(2) 对其余 n-1 个数再按 步骤( 1 )选出次小的数,与第 2 个数交换位置。

重复步骤( 1 )共 n-1 次,最后数组元素就是按 递增顺序排列的。

Page 32: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.4 常用算法举例

3 、查找 查找是在数组中根据指定内 容,找出与其 相同的

元素。常用的方法有顺序查找和二分法查找。 例 7-8 给定一组数 15 、 8、 4 、 13 、 6 、 10 、

17 、 1 ,从键盘输入一个数,用 顺序查找法找出该数在数组中的位置。

Page 33: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.4 常用算法举例4 、插入或删除数组元素 在数组中 插入元素的过程是: (1) 输入插入的位置及要插入的数; (2) 增加数组元素个数 ; (3) 将待插入位置以后的数逐一后移一位,腾出插入位置; (4) 在插入位置上插入数。

例 7-9 已知一组数 15,8,4,13,6,10,17,1 ,插入一个数到数组指定位置。

Page 34: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.4 常用算法举例

< 课堂练习 > 已知一组数 15,8,4,13,6,10,17,1, 从数组中删除指定的数。

(1) 输入要删除的数;(2) 在数组中 找到要删除的数的位置 k ,如果数组中 没有

要删除的数,输 出提示信息;(3) 将 k 以后的每一个元素前移一位,覆盖要删除的数;(4) 减少数组元素的个数, 完成删除。

Page 35: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.5 二维静态数组

1 、格式:Dim 数组名(下界 1 To 上界 1 ,下界 2 To 上界 2 )[ As < 数据类型 >

] 作用:声明(上界 1-下限 1+1) *(上界 2-下限 2+

1)个连续的存储单元。例如: Dim a(1 to 5 , 1 to 4) as long 声明了一个长整型的二维数组 a ,第 1 维下标范围为 1~ 5 ,第

2 维下标范围为 1~ 4 ,元素个数为 5*4 个,每个元素占据 4个字节的存储空间

Page 36: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.5 二维静态数组

a(1,1) a(1,2) a(1,3) a(1,4)

a(2,1) a(2,2) a(2,3) a(2,4)

a(3,1) a(3,2) a(3,3) a(3,4)

a(4,1) a(4,2) a(4,3) a(4,4)

a(5,1) a(5,2) a(5,3) a(5,4)

Page 37: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.5 二维静态数组

2 、为二维静态数组元素赋值3 、二维静态数组输 出4 、二维静态数组 应用例 7-7 有一个 5 行 5列的二维数组,元素值 随机产生,求所有元素的和。

< 课堂练习 > 求一个 5 行 5列的二维数组,元素值 随机产生,求两个对角线各元素的和。

例 7-8 有一个 5 行 5列的二维数组,元素值 随机产生,请将其转置(行变列,列变行)后输出。

Page 38: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.6 控件数组

1 、基本概念 控件数组由一组同类 控件组成,它 们共用一个控件名,具有相同

的属性,系统给每个控件数组元素赋 予惟一的一个索引号(类似于数组元素的下标),第 1 个控件数组元素的 索引号为 0 ,第 2 个控件数组元素的 索引号为 1 ,依次类推。

控件数组中的元素 具有共同的事件过程。 例如:若控件数组 Command1 有 4 个命令按钮元素,不管单击哪

个命令按钮,都会调用同一个单击事件过程,格式如下: Private Sub Command1_Click(Index As Integer) …… End Sub

Page 39: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.6 控件数组

2 、建立控件数组的方法( 1 )设计时建立 ( 2 )在程序运行时建立3 、应用举例 例 7-14 输入两个数,根据不同的运 算符计算相应的运算结果。

Page 40: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.7 自定义数据类型

在 VB 中,利用系统提供的标准数据类型定义变量,可以存储那些相互独立、没有内在联系的数据, 借助数组能存储一组性质相同的数据。

但实际应用中,对事物的描述往往需要两个或两个以上的基本数据项

学号 姓名 性别 出生日期 语文 数学 总分

99310李小华 男 1985年 2月 85 95 180

99311张红玉 女 1984年 12

月73.

587

160.5

99312

田 宝 男 1986年 1月 82 79 161学生成绩登记表

Page 41: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.7 自定义数据类型

若采用数组存储,则需要 3 个字符型数组分别存储学号、姓名和性别, 1 个日期型数组存储 出生日期, 1 个二维数组存储成绩,这 种方法尽管解决了数据的存储 问题,但处理起来将会非常麻烦。

学号 姓名 性别 出生日期 语文 数学 总分

99310 李小华 男 1985年 2月 85 95 180

99311 张红玉 女 1984年 12月 73. 5 87

160.5

99312 田 宝 男 1986年 1月 82 79 161

字段纪录

字段名

Page 42: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.7 自定义数据类型

1 、自定义数据类型的定义格式: Type 〈自定义类型名 〉 〈字段 1〉 as 〈类型名 1〉 〈字段 2〉 as 〈类型名 2〉 …… 〈字段 n〉 as 〈类型名 n〉 End Type

其中:〈自定义类型名 〉是用户欲定义的数据类型名(注意,它不是变量名),其命名规则与变量名命名规则 相同;〈字段〉是组成自定义数据类型的元素,其命名规则 也与变量名命名规则相同;〈类型名 〉可以是任何基本数据类型, 也可以是用户定义数据类型。

Page 43: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.7 自定义数据类型

如: Type studtype xh as string *5 xm as string *8 xb as string *2 csrq as date yw as single sx as single zf as single End Type在使用 Type语句时,应注意以下两点:(1) 自定义类型一 般放在标准模块中,默认为 Public;(2) 自定义类型中的 字符型字段必须设置成定长字符串。

Page 44: 第 7 章 数组与自定义类型

第7

数组与自定义类型

7.7 自定义数据类型

2 、使用自定义数据类型 声明变量 完成自定义数据类型定义 后,自定义数据类型就自动保存在“列出成员”中。就可以象使用标准数据类型一样定义变量类型,格式如下:

Dim 变量名 as 自定义类型名

3 、为自定义数据类型的变量赋值 当变量被声明成自定义数据类型 后,它就具有这种数据类型的

各个字段(或称域),为各字段赋值的格式如下: 变量名 .字段名 = 表达式