VB编程:利用指针实现数组的插入-43

举报
彭世瑜 发表于 2021/08/14 01:16:23 2021/08/14
【摘要】 运行效果: 程序代码: Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Privat...
运行效果:
VB编程:利用指针实现数组的插入-43


程序代码:
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Private Sub Form_Load()
On Error GoTo 1
    Dim arr()
    arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
    Text1.Text = ""
    For j = 0 To UBound(arr)
        Text1.Text = Text1.Text & arr(j)
    Next j
    ReDim Preserve arr(UBound(arr) + 1)         '重定义数组arr上标
    Debug.Print UBound(arr)
    Dim i As Integer
    i = InputBox("请输入要插入的位置:", "插入")
    CopyMemory arr(i + 1), arr(i), (UBound(arr) - i + 2) * 16  '变体变量占16个字节, 不是很明白
    arr(i) = InputBox("要插入的数字", "插入")
    Text2.Text = ""
    For j = 0 To UBound(arr)
        Text2.Text = Text2.Text & arr(j)
    Next j
1: End Sub

学习总结:
CopyMemory() 
函数功能描述:将一块内存的数据从一个位置复制到另一个位置 
函数原型  
VOID CopyMemory( PVOID Destination,  CONST VOID *Source,  DWORD Length  ); 
参数 
Destination  要复制内存块的目的地址。  
Source  要复制内存块的源地址。  
Length  指定要复制内存块的大小,单位为字节  
返回值  该函数为VOID型,没有返回值。 

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/81048895

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。