在VB中 ReDim 能否定义一个静态数组?
初学者,求解答。Redim能否在过程中定义一个静态数组?static能否在过程中声明一个动态数组?static在过程中定义静态数组时和Dim定义的静态数组有什么不同?...
初学者,求解答。Redim能否在过程中定义一个静态数组?static能否在过程中声明一个动态数组?static在过程中定义静态数组时和Dim定义的静态数组有什么不同?
展开
1个回答
展开全部
严格来说,并没有所谓“静态数组”的说法,数组只有“固定数组”和“动态数组”之分。
你所说的“静态数组”应该是“静态变量”,而数组是变量的一种形式。
只有用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
你所说的“静态数组”应该是“静态变量”,而数组是变量的一种形式。
只有用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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询