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的物理地址的首字节? --------------------编程问答--------------------
学习了~~~~ --------------------编程问答-------------------- 首先vb中的字符串和C中的字符串是不一样的 --------------------编程问答-------------------- 谢谢各位了,明白了
补充:VB , 基础类