请问VB中有像C一样的指针吗?

nihaoma008 2003-08-18 05:23:22
大家好:
我学VB不久,有个小问题向大家请教。
能用VB实现以下的功能吗?
变量a, b
a储存一个数
b储存a的地址
通过b改变a
...全文
24 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
danielinbiti 2003-08-18
  • 打赏
  • 举报
回复
程序一】:注释:标准的做法SwapStr
Sub SwapStr(sA As String, sB As String)
Dim sTmp As String
sTmp = sA: sA = sB: sB = sTmp
End Sub

【程序二】:注释:用指针的做法SwapPtr
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _ (Destination As Any, Source As Any, ByVal Length As Long)

Sub SwapPtr(sA As String, sB As String)
Dim lTmp As Long
CopyMemory lTmp, ByVal VarPtr(sA), 4
CopyMemory ByVal VarPtr(sA), ByVal VarPtr(sB), 4
CopyMemory ByVal VarPtr(sB), lTmp, 4
End Sub
junki 2003-08-18
  • 打赏
  • 举报
回复
你是不是想学vb呢?
如果是的话,建议你去买一本书----<vb入门与精通>
那里面有比较基础的知识,很适合初学者
zyl910 2003-08-18
  • 打赏
  • 举报
回复
关于模拟指针的推广:
http://expert.csdn.net/Expert/topic/2072/2072972.xml?temp=.908642
★[技术文章]◇用VB写高效的图像处理程序 1.0β
lihonggen0 2003-08-18
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/read_article.asp?id=12882
http://www.csdn.net/develop/read_article.asp?id=12675
http://www.csdn.net/develop/read_article.asp?id=12902
http://www.csdn.net/develop/read_article.asp?id=13066
http://www.csdn.net/develop/read_article.asp?id=13065
lihonggen0 2003-08-18
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/read_article.asp?id=12882
http://www.csdn.net/develop/read_article.asp?id=12675
http://www.csdn.net/develop/read_article.asp?id=12902
http://www.csdn.net/develop/read_article.asp?id=13066
http://www.csdn.net/develop/read_article.asp?id=13065
射天狼 2003-08-18
  • 打赏
  • 举报
回复
直接用A就行了,为什么非得存指针,如果是函数调用的话可以传地址


Private Function AAA(ByVal A As String, ByRef B As String) As String
'参数A为传数组,在函数里的改变不会影响到函数外部
'参数B为传地址,在函数里的改变可以影响到函数外部
End Function
sunrise10 2003-08-18
  • 打赏
  • 举报
回复
vb中没有指针啊
viena 2003-08-18
  • 打赏
  • 举报
回复
只有VC中有指针,C#都没有
馮強 2003-08-18
  • 打赏
  • 举报
回复
VB没有指针。
此代码是《VB真是想不到系列之三:VB指针葵花宝典之函数指针》的配套代码。 本系列文章可见: http://www.csdn.net/develop/list_article.asp?author=AdamBear 本代码主要是用来谈函数指针VB内部的应用之一,给出了qsort和ShellSort的实现。其中ShellSort完全是取自1998年5月VBPJ的Black Belt专栏里的源代码,可以说本文的思想基本上也来自这篇专栏文章。 ShellSort提共了三种不同的实现方法,分别是如下: PolySort1: 用Variant和对象缺省属性来比较。 PolySort2:用ISortable接口的多态对象技术来实现 PolySort3:用函数指针强制回调技术来实现。 分别运行一下这三个程序,可以发现用函数指针是最快的。值得一提作者的钻研精神,完全在VB里实现同一种算法完全三种不同的实现,而且一个比一个好,我非常佩服。 我原以为qsort应该会比它快不少,从算法上来说是这样,不过做出来才发现,要在VB里做出比它快的qsort很难,即使经过了仔细的优化。这是因为qsort的实现上比shellsort复杂,在C里多几次比较、多几次无用的移动影响不大,但在VB里多用一次API回调的Compare、多用一次CopyMemory都是很大的开销。而且qsort要嵌套调用(不嵌套在VB里也慢),我们还要尽量节约堆栈,虽然1M的默认堆栈大小可以被扩充(有相邻的空闲空间时),但是我们依然要考虑可能存在的溢出,所以我做的qsort仅两个参数,两个局部Long型变量。大家可以参考一下我最终的qsort的源代码。 见QSort工程里的basQSort模块,有详细注释。 虽然qsort还是比shellsort慢得多,但是可以说qsort已经进行了较好的优化。可见在VB里一个算法好不好,不能仅仅从理论上看,一个差一点但实现简单的算法和一个好一点但实现上复杂的算法在VB里谁好谁坏很难说。所以从实践意义上,ShellSort的确是个不错的算法。 无论ShellSort还是qsort,它们都还可以更加快,我在文章里说过,那必须要Hack一下SafeArray。 本系列第四篇文章《VB真是想不到系列之三:VB指针葵花宝典之数组指针》里再谈,这篇文章很快就会出来。
1.VB是什么? VB是visual Basic的简称,即初学者通用符号代码,是很容易入门的语言,从BASIC发展而来。 2.学VB有什么用? VB是一门编程语言,所以能用VB做的很多很多,基本上除了底层开发(系统软件),VB都能做,而且在数据库应用方面VB也有他独到的一面。 3.如何学好VB(请详细说明) 这不是一句两句可以说清楚的。给你一个学习的过程: 3.1.入门,这段时间你应该学会VB的基本语法,基本语句和基本控件等。能够写一些简单的计算程序就算可以乐。比如写一个解1元2次方程的程序,写一个求解两数的最新公约数的程序等等。 3.2.开始做VB界面的一些东西,了解控件,窗体的使用,事件,方法、过程和函数等。 3.3 开始用类设计VB程序。封装一个VB类。学会VB中类的使用方法。 3.4 学习使用API增强程序的功能。 3.5 这是转入学习C语言,不一定要很强,能懂一些语法就行,当然能够深入的话,就可以转C++乐。 3.6 有乐C的基础,就可以去学习数据结构乐。数据结构很重要,一定要学好。 3.7 开始在VB里面尝试实现数据结构,比如做一个链表,vb没有指针,所以不能向c那样做链表,但我想这时候你应该知道怎么做乐。 3.8 开始尝试做游戏,做不同的程序,做自己想做的东西。 3.9 深入VBVB到了这个阶段,深入是很困难的了。需要API的帮助。做一些窗口回调,挂钩等程序。 4.0 你已经有相当的VB经验了,这时候要确定一个方向了,比如游戏编程directx,比如大数据量的数学计算,人工智能等等。。。 4.1 等等等 5.VB可以作什么程序? VB能做的太多了,除不不能开发ddk程序,不能开发sys,vxd其他的基本都能做。(呵呵,开发OS肯定不行了。) ,而用VB做个图书管理系统,医院管理系统等做毕业设计,是再快速和简便不过的了,功能也可以做的非常强大,现在好多流行软件也用VB开发。当然Delphi也很好使。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧