动态数组的声明与例子练习

前端之家收集整理的这篇文章主要介绍了动态数组的声明与例子练习前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

动态数组

在有些情况下,用户可能不知道需要多大的数组,这时就需要用一个能够改变大小的数组,这就是动态数组。动态数组可以在任何时侯改变大小。在@H_502_11@VB中,动态数组是最灵活、最方便的一种数组。利用动态数组还有助于有效管理内存,因为动态数组是使用时才开辟内存空间,在不使用这个数组时,还可以将内存空间释放给系统。这样就可以最大限度地节省内存,提高运行速度。

创建动态数组需要@H_502_11@2,第一步和固定长度数组(静态数组)类似,用@H_502_11@Dim语句@H_502_11@(@H_502_11@Private@H_502_11@Public@H_502_11@Static)声明,但是不要指定维数如:

@H_502_11@ Dim MyArry () As Integer

第二步在以后的实际程序中,当要用到该数组时,再用@H_502_11@ReDim语句分配实际的元素个数,这时需要确定元素的个数。如前面声明的数组@H_502_11@MyArry,可以用下面语句将它定义为一个二维数组@H_502_11@:

@H_502_11@ ReDim MyArry(10,10)

@H_502_11@ReDim语句只能出现在过程中。与@H_502_11@Dim语句、@H_502_11@Static语句这些变量声明语句不同,@H_502_11@ReDim语句是@H_502_11@—个可执行语句,@H_502_11@ReDim语句可以改变元素数目以及上下界,但在第一个ReDim语句定义了数组维数之后,就不能够再改变数组维数(最多能定义的维数是60),只能改变数组边界。如:

@H_502_11@ Dim MyArry () As Single'声明动态数组@H_502_11@
ReDim MyArry(30,20,10) '重新定义数组@H_502_11@
ReDim MyArry(50,23,21) '再次重新定义数组(这时不能再改变维数)

每次执行@H_502_11@ReDim语句时,@H_502_11@Visual Basic会把动态数组中的数值重新初始化一遍,当前存储在数组中的值都会全部丢失。但是用户有时希望只改变数组大小,但不丢失数组中的数据。这时,可以使用带@H_502_11@Preserve关键字的@H_502_11@ReDim语句。其格式为:

@H_502_11@ ReDim Preserve数组名(@H_502_11@[下标下界@H_502_11@ To]下标上界)@H_502_11@ [As 数据类型@H_502_11@]

例如:

@H_502_11@ ReDim MyArry@H_502_11@50@H_502_11@23@H_502_11@21

@H_502_11@ ReDim Preserve MyArry@H_502_11@50@H_502_11@23@H_502_11@50

注意:Preserve只能在改变数组的最后一维大小时,保留数组的数据。对一维数组来说,所有数据都会保留,而对于多维数组,只能改变最后一维的大小,才能保留全部数组数据,否则出错。

猜你在找的VB相关文章