• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[插件教程] VB同C一样,各种指针表示 [复制链接]

1#
本帖最后由 一只鱼 于 2009-3-19 22:16 编辑
  1. C指针
  2. void PtrDemo(){
  3.  //指针声明:
  4.  char c = 'X'; //声明一个char型变量
  5.  char* pc; long* pl; //声明普通指针
  6.  POINT* pPt; //声明结构指针
  7.  void* pv; //声明无类型指针
  8.  int (*pfnCastToInt)(void *, void*); //声明函数指针:
  9.  //指针赋值:
  10.  pc = &c; //将变量c的地址值赋给指针pc
  11.  pfnCompare = Compare; //函数指针赋值。
  12.  //指针取值:
  13.  c = *pc; //将指针pc所指处的内存值赋给变量c
  14.  //用指针赋值:
  15.  *pc = 'Y' //将'Y'赋给指针pc所指内存变量里。
  16.  //指针移动:
  17.  pc++; pl--;
  18. }
复制代码
  1. VB指针
  2. Type POINT
  3.  X As Integer
  4.  Y As Integer
  5. End Type
  6. Public Function Compare(elem1 As Long, elem2 As Long) As Long
  7. '
  8. End Function
  9. Function FnPtrToLong(ByVal lngFnPtr As Long) As Long
  10.  FnPtrToLong = lngFnPtr
  11. End Function
  12. Sub PtrDemo()
  13.  Dim l As Long, c As Byte, ca() As Byte, Pt As POINT
  14.  Dim pl As Long, pc As Long, pv As Long, pPt As Long, pfnCompare As Long
  15.  c = AscB("X")
  16.  pl = VarPtr(l) '对应C里的long、int型指针
  17.  pc = VarPtr(c) '对应char、short型指针
  18.  pPt = VarPtr(Pt) '结构指针
  19.  pv = VarPtr(ca(0)) '字节数组指针,可对应任何类型,也就是void*
  20.  pfnCompare = FnPtrToLong(AddressOf Compare) '函数指针
  21.  CopyMemory c, ByVal pc, LenB(c) '用指针取值
  22.  CopyMemory ByVal pc, AscB("Y"), LenB(c) '用指针赋值
  23.  pc = pc + LenB(c) : pl = pl - LenB(l) '指针移动
  24. End Sub
复制代码

发新话题 回复该主题