在VB中 ReDim 能否定义一个静态数组?

2020-04-26 社会 351阅读
严格来说,并没有所谓“静态数组”的说法,数组只有“固定数组”和“动态数组”之分。
你所说的“静态数组”应该是“静态变量”,而数组是变量的一种形式。
只有用Static在过程内部定义的变量才叫静态变量。而Dim在过程内部定义的变量叫局部变量,在过程外部定义的叫全局变量(其中在窗体定义的叫窗体级全局变量,在模块中定义的叫工程级全局变量)。不存在所谓的“Dim定义的静态数组”。
在过程中可以用Static定义一个静态的动态数组(注意,“静态的动态数组”与“静态数组”不是同一个意思),用ReDim可以重定义(注意,“重定义”与“定义”也不是同一个概念)这个数组的下标范围。
Private Sub Command1_Click()
Static a() As Integer, i As Integer 'a()是静态的动态数组,i是个静态变量
ReDim Preserve a(i) '重定义a的下标范围为0到i
a(i) = i
Debug.Print "a(" & i & ")=" & a(i)
i = i + 1
End Sub
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com