5.6 自定义数据类型 1. 自定义数据类型的定义 是指由若干标准数据类型组成的一种复合类型,也称为记录类型。 (1)定义方式: Type 自定义类型名 元素名[(下标)] As 类型名 …… 元素名[(下标)] As 类型名 End Type 元素名:表示自定义类型中的一个成员 下标(可选):表示是数组, 类型名:为标准类型 例:定义一个学生信息的自定义类型: Type studtype No As Integer ’ 定义学号 Name As String*10 ’ 定义姓名 Sex As String*2 ’ 定义性别 Mark(1 TO 4) As Single ’ 定义4门课程的成绩 Total As Single ’ 定义总分 End Type (2)注意事项 1)自定义类型一般在标准模块(.bas)中定义,默认是Public 2)自定义类型中的元素可以是字符串,但应是定长字符串 3) 不可把自定义类型名与该类型的变量名混淆 4) 注意自定义类型变量与数组的差别:它们都由若干元素组成,前者的元素代表不同性质、不同类型的数据,以元素名表示不同的元素;后者存放的是同种性质、同种类型的数据,以下标表示不同元素。 2. 自定义型变量的声明和使用 使用形式: Dim 变量名 As 自定义类型名 例如: Dim student As studtype, mystud As studtype 自定义类型中元素的表示方法是:变量名 . 元素名 如:student.name student.mark(4) 为了简单起见,可以用With …… End With 语句进行简化。 例: With student .no=99001 .name="" .sex="" .total=0 for I=1 to 4 .mark(I)=int(rnd*101) ’随机产生0 - 100之间的分数 .total=.total .may(I) next I End With Mystud=student ’ 同种自定义类型变量可以直接赋值 3.自定义类型数组的使用 自定义类型数组就是数组中的每个元素都是自定义类型。 例如:自定义一个由学生姓名、成绩组成的学生记录类型,用来存放100个学生的记录。