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

简介: VB编程:利用指针实现数组的插入

运行效果:


153631ff301b8fefedda398fbc21043d.png


程序代码:

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型,没有返回值。


相关文章
|
24天前
使用指针访问数组元素
【10月更文挑战第30天】使用指针访问数组元素。
31 3
|
23天前
使用指针访问数组元素
【10月更文挑战第31天】使用指针访问数组元素。
32 2
|
1月前
|
算法 索引
单链表题+数组题(快慢指针和左右指针)
单链表题+数组题(快慢指针和左右指针)
34 1
|
2月前
|
存储
如何使用指针数组来实现动态二维数组
指针数组可以用来实现动态二维数组。首先,定义一个指向指针的指针变量,并使用 `malloc` 为它分配内存,然后为每个子数组分配内存。通过这种方式,可以灵活地创建和管理不同大小的二维数组。
|
2月前
|
存储
如何通过指针数组来实现二维数组?
介绍了二维数组和指针数组的概念及其区别,详细讲解了如何使用指针数组模拟二维数组,包括定义与分配内存、访问和赋值元素、以及正确释放内存的步骤,适用于需要动态处理二维数据的场景。
|
2月前
|
存储 算法 C语言
C语言:什么是指针数组,它有什么用
指针数组是C语言中一种特殊的数据结构,每个元素都是一个指针。它用于存储多个内存地址,方便对多个变量或数组进行操作,常用于字符串处理、动态内存分配等场景。
|
2月前
魔法指针 之 二级指针 指针数组
魔法指针 之 二级指针 指针数组
19 1
|
2月前
|
存储
一篇文章了解区分指针数组,数组指针,函数指针,链表。
一篇文章了解区分指针数组,数组指针,函数指针,链表。
19 0
|
2月前
|
编译器 C语言
【C语言】指针篇-深入探索数组名和指针数组- 必读指南(2/5)
【C语言】指针篇-深入探索数组名和指针数组- 必读指南(2/5)
|
4月前
|
搜索推荐 C语言
指针与数组
指针与数组
59 9