乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 61|回复: 1

vb6请前辈帮忙讲解动态数组初始化 此段代码的理解 谢谢!

[复制链接]
Kye

12

主题

83

帖子

10

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
129
发表于 2015-12-28 15:39:00 | 显示全部楼层 |阅读模式
'http://zhidao.baidu.com/link?url=GsP_Dv75fFTYxZBhdlLL1SPCIjCq6lPqwy4Scq-DyX-htSK2YutP6G2tZWTBAsY8-wzXYcms9LEK7rJJT9QHhxl4iMs3FLVqFi52WwPN793
Private Sub Command2_Click()
  Dim a() As String
  Dim J1() As String
  Dim i As Long
  Dim n As Long
  J1 = Split("ad|fg|af|ssww|wwww|w", "|")
  'Print UBound(J1)
   ’ReDim a(2, UBound(J1))
  For n = 0 To UBound(J1)
    ReDim Preserve a(2, n) ' Preserve 保留动态数组原来的项,这里原来的项
                                       ' 是什么?似乎理解了,可能是For循环中产生的,之前的项需要保留
     a(2, n) = J1(n)
     Debug.Print a(2, n)
  Next
  
  Print UBound(a)  '我实在不理解 为什么是 2,而不是5
'以下为测试数组内容
Dim Tmp As String
For i = 0 To UBound(J1)
   Tmp = Tmp & a(2, i) & vbCrLf
Next
MsgBox Tmp
End Sub
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2015-12-28 21:00:00 | 显示全部楼层
ReDim Preserve a(2, n)
redim 改变数组所占内存的大小,意思是数据所占的空间(内存)变多,既然变多了,原来有数据的部分,就存在保留或不保留,所以有preserve
UBound(a) 默认是第一维的上界,所以是2
如果是UBound(a,2) ,你可以试试........
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-4-20 05:19 , Processed in 1.727195 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表