自定义类型。
概观
User-Defined Types 是可以由程序员创建的
变量的特殊类型。用户定义类型(UDT)实际上只是一个容器,其中包含一些其他变量,如
排列,但不同于数组UDT可以容纳
different 变量类型(而数组始终包含
same 的许多变量)类型)。事实上,UDT甚至可以拥有
程序!
会员
存储在UDT内的不同变量和/或过程称为“成员”,或更一般地称为项。成员可以是任何类型的变量,包括数值类型,字符串
指针,
枚举,甚至数组。变量在UDT中创建的方式与变量正常创建的方式大致相同,但Dim关键字是可选的。UDT成员可以通过
。操作者访问,所以例如,如果您在UDT中创建了一个名为someVar的变量,您将使用UDT变量的名称后跟“.someVar”来访问它。这是一个例子:
'Define a UDT called myType, with an Integer member named someVar
Type myType
As Integer someVar
End Type
'Create a variable of that type
Dim myUDT As myType
'Set the member someVar to 23, then display its contents on the screen
myUDT.someVar = 23
Print myUDT.someVar
请注意,
类型...结束类型实际上并不创建该类型的变量,它只定义该类型的变量。您必须创建一个实际使用该类型的变量!
UDT指针
顾名思义,UDT指针是指向UDT的指针。它们被创建为常规指针,但有一种特殊的方式来使用它们。要访问由指针指向的UDT的成员,请使用
- >运算符.例如,如果myUDTPtr是一个指向具有成员someVar的UDT的指针,那么您将访问成员为myUDTPtr- >someVar,这对于同样有效的*(myUDTPtr).someVar是一个更为清晰的简写。
Type rect
x As Integer
y As Integer
End Type
Dim r As rect
Dim rp As rect Pointer = @r
rp->x = 4
rp->y = 2
Print "x = " & rp->x & ", y = " & rp->y
Sleep
参考