
VB(Visual Basic) 动态数组 和 静态数组
我希望VB有一种数组,它既是静态的又是动态的,具体意思如下:一个数组,由于我事先不知道其下标,所以必须用redim来实现,即:dima()asintegerredima(...
我希望VB有一种数组,它既是静态的又是动态的,具体意思如下:
一个数组,由于我事先不知道其下标,所以必须用redim来实现,即:
dim a() as integer
redim a(h) ' h是个integer常数
但是,VB中有个static用法,每次用完后其内存不释放,现在我希望这个数组中的元素是static的,我也试过,用static a(2) as integer,可以保证a(0),a(1),a(2)三个元素都是static的,即,停止使用后,其内存不释放。
现在,我希望一个数组,是以上两者的结合,可否实现?请高手指点!
我试过如下定义该数组
static a() as integer
redim a(h) ' h是个integer常数
这样的数组是动态的,能实现下标用变量表达,但每次用完,内存都被释放了 展开
一个数组,由于我事先不知道其下标,所以必须用redim来实现,即:
dim a() as integer
redim a(h) ' h是个integer常数
但是,VB中有个static用法,每次用完后其内存不释放,现在我希望这个数组中的元素是static的,我也试过,用static a(2) as integer,可以保证a(0),a(1),a(2)三个元素都是static的,即,停止使用后,其内存不释放。
现在,我希望一个数组,是以上两者的结合,可否实现?请高手指点!
我试过如下定义该数组
static a() as integer
redim a(h) ' h是个integer常数
这样的数组是动态的,能实现下标用变量表达,但每次用完,内存都被释放了 展开
3个回答
展开全部
试试看把a定义在模块最外层 即把a定义成一个全局变量
例如
Option Explicit
Dim a() As Integer
---------------------------------------------------
Private Sub Command1_Click()
Dim n As Integer
n = Val(InputBox("请输入n"))
ReDim a(n)
MsgBox "a的大小是" & UBound(a)
End Sub
例如
Option Explicit
Dim a() As Integer
---------------------------------------------------
Private Sub Command1_Click()
Dim n As Integer
n = Val(InputBox("请输入n"))
ReDim a(n)
MsgBox "a的大小是" & UBound(a)
End Sub
追问
Thanks.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然可以。
dim a() as integer
redim Preserve a(h)
dim a() as integer
redim Preserve a(h)
追问
THanks.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ReDim Preserve a(h)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询