关于vb中的给动态数组赋值的问题

关于vb中的给动态数组赋值的问题,第1张

VB的动态数组其实只是一种结构体,它记录了数组指针和数组维数等等信息。它的数组元素并不是保存在这个结构里面的,结构里面有指针变量指向存放数组的内存空间。动态数组刚定义后,不会分配空间,因此无法对它赋值。使用mscomm1.input,winsock.getdata等函数会为动态数组分配足够的内存空间。

Dim a() As Integer

Dim i as Integer

For i = 0 To 100

  '先调整动态数组可容纳元素的数量。注意:用Preserve关键字保留先前的数据!  

  Redim Preserve a(0 To i) As Integer

  '再追加新的元素(数据)

  a(i) = i

Next

上面代码,将0~100依次追加到动态数组a里

综合你的两段程序,我修改为一个程序:

Sub DelArray()

Dim i As Integer

ReDim a(1 To 20)

For i = 1 To 20

a(i) = i

If a(i) Mod 6 = 0 Then a(i) = 0

Next

For i = 1 To 20

If a(i) <>0 Then Console.WriteLine a(i) '显示结果就是留在船上的

Next

End Sub

你运行DelArray试试看。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/7969404.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存