初始化数组,变量和UDT支持变量初始化。
语法
Dim scalar_symbol [AS
DataType] =
expression
Dim array_symbol ([
lbound TO]
ubound ) [AS
DataType] => {
expression [, ...] }
Dim udt_symbol AS
DataType = (
expression [, ...] )
说明
数组,变量和UDT可以在使用
Dim声明时给出一个值,其语法如上所示。请注意初始化不同类型之间的重要区别。标量变量被初始化为正常赋值,使用等号。UDT和数组被赋值一个等号,后跟大于符号(= >))。数组值以逗号分隔的值由大括号括起来,UDT值以括号括起来的逗号分隔值给出。
这些初始化变量的方法可以嵌套在一起,用于复杂的赋值。例如,要初始化一个多维数组:
Dim array(1 To 2, 1 To 5) As Integer => {{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}}
在此声明中,最左边的维度的值作为5索引数组给出。嵌套允许初始化任何维度的数组。
UDT和数组也可以彼此嵌套。例如,以下代码声明并初始化UDT数组。
Type mytype
var1 As Double
var2 As Integer
var3 As ZString Ptr
End Type
Dim MyVar(2) As mytype => _
{ _
(1.0, 1, @"Hello"), _
(2.0, 2, @"GoodBye") _
}
对于模块级,静态或全局变量,初始化值必须是常量表达式。否则FreeBASIC将报告编译时错误。
与QB差别
参考