当前位置:编程学习 > VB >>

c中的指针类型用vb怎么实现?

c中的指针类型用vb怎么实现? --------------------编程问答-------------------- 用long型表示 --------------------编程问答--------------------
要看指针指向的是什么。 --------------------编程问答-------------------- 在C里面的指针其实就是存放了一个内存地址,至于这个内存地址里面放的是什么东西,那就是由指针类型来确定的了.
但是C里面的指针类型其实只是表明了该指针所指向的数据类型或函数. 其实质都是一个地址,那在VB中就可以用LONG来表示了.

忽略指向函数过程的指针,单看指向数据的指针,虽然在定义的时候有int,有double等等类型,但是那只是让C语言在做指针运算的时候得知该指针跳跃的间隔而已.

(下面的例子用的是16位的TC2)
比如定义了一个指向int数组的指针int *p;
C在处理p++的时候就知道应该向后跳两个字节,而 double *p; C在处理p++时则跳过4个字节. --------------------编程问答-------------------- 指针用long型
变量地址可以能过下面的函数取得

VarPtr 返回普通变量的址址,包括自定义类型的变量

StrPtr 返回字符串变量首字符地址,相当于C中的字符串

ObjPtr 返回对象类型地址

比如

Dim p As Long
Dim str As String
str="test string"
p=StrPtr(str) 'p 就是字符串首字符地址,与C中的指针相同


哈哈,分给我吧 --------------------编程问答--------------------

boolean ByVal bTest as boolean
String Pointer(LPSTR) ByVal sTest as String
bTest() as byte
int Pointer(LPINT) iTest as Int
Long Int Pointer lTest as long
Int ByVal i as long 
long ByVal i as long
handle ByVal hwnd as long
int[] i() as integer
void pointer a as any
char ByVal c as string 
obj obj as objType 

大致上这样 --------------------编程问答-------------------- 请教各位老师
如果
Dim TmpVal as string*8
TmpVal="ABCDEFGH"
那么我应该如何取得TmpVal的物理地址的首字节? --------------------编程问答--------------------
引用 4 楼 lfm13720 的回复:
指针用long型 
变量地址可以能过下面的函数取得 

VarPtr 返回普通变量的址址,包括自定义类型的变量 

StrPtr 返回字符串变量首字符地址,相当于C中的字符串 

ObjPtr 返回对象类型地址 

比如 
 
Dim p As Long 
Dim str As String 
str="test string" 
p=StrPtr(str) 'p 就是字符串首字符地址,与C中的指针相同 
 

哈哈,分给我吧



学习了~~~~ --------------------编程问答-------------------- 首先vb中的字符串和C中的字符串是不一样的 --------------------编程问答-------------------- 谢谢各位了,明白了
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,