永发信息网

VB中传值与传址案例

答案:5  悬赏:40  手机版
解决时间 2021-12-21 08:48
求:VB中传值与传址案例
最佳答案
下面是我自己写一个函数案例:
传值的:
public sub hanshu(byval neirong as string)
........
end sub

传地址:
public sub hanshu(byref kuai() as byte) ‘BYTE数组不能用byval传送,详细就看看内存操作的资料。
........
end sub

如果要函数名传送那就只能传送地址,方法:
addressof 函数名 ‘一般用在多线程和钩子里,因为要调用用户的内容所以就用传送地址来获得函数位置进行调用(也就是内存操作)。

上面中BYREF可以不加,这样VB也会自动识别为按地址传递。
全部回答
byref byval 知道什么意思,然后灵活运用
byval byref
假设有一个整形变量a,a=100,a储存在第12345678号单元中。 传值:喏,a是100,你拷一份用吧。 传址:a在第12345678号,你自己去找吧。
ByVal 与 ByRef(默认值) 这两个是子过程的参数传递时,指定参数按什么传递的 ByVal(按值传递) ByRef(按地址传递) 过程中的参数列表,我们称形参 调用过程时的参数列表,我们称实参 在调用时,我们要将实参的值传递给形参,这样过程才能拿这些数据参与计算并实现一些功能 那么在传递的过程中,就存在这两种传递方式 传值时(ByVal),是先给形参开辟一个临时地址,将实参的内容传入这个临时地址,这样,传递后,形参与实参是在两上不同的地址中,也就是说他们是相互独立的 传址时(ByRef),是直接将实参的地址传递给形参,这样,形参与实参就共用一个地址,所以,形参内容的改变,也直接改变了实参的内容 通过上面的分析,你只要记得: 按值传递时(ByVal),形参的改变不会影响到实参 按址传递时(ByRef),形参的改变,会影响到实参 应用时,我们可以利用按址传递的过程,给一个子过程(FUNCTION函数)进行参数返回 例如: 以下函数 Public Function GetStr(ByVal lpath As String) As String Dim A, S If Dir(lpath) <> "" Then Open lpath For Output As #1 Do While Not EOF(1) Line Input #1, S A = A + S Loop Close #1 GetStr = A Else GetStr = "" End If End Function 如果没有BYVAL 不会影响结果 但是BYREF是不同的,他是按照地址来传递数据的 所以本质上是不同的!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如图,已知抛物线,直线y2=3x+3,当x任取一值
高密到济南多少公里
博白县附城国土资源管理所办公位置在哪啊?好
有指的词语,急求!!!
属鼠忌讳什么颜色
有些时候,你不开心是因为你还没有意识到能真
容县国土资源执法监察大队在什么地方啊,我要
单选题与例句“自以为得其实”中的“其”字用
飞机提前一个小时能改签吗
单选题下列引文均出自中国古代典籍,其中能够
单纯近义词是什么
玉林市石和镇国土资源管理所在什么地方啊,我
双子座为什么被黑
单选题马戏团的小狗能用叫声表演“算算术”,
请问福建长乐机场离厦门飞机场有多远 40分
推荐资讯
长坪乡国土资源管理局在什么地方啊,我要处理
蝉鸣如斯是什么意思
棋英语怎么说
蒲伊村委会办公地址在什么地方?我要处理点事
三国演义中的名句
两个自然数的和是73,它们的最大公约数和最小
某糖厂七月生产552吨糖,比计划多生产72吨,
保险司机险和乘客险现在什么情况下会使用。
左思诗歌的代表作是(),辞赋的代表作是()
人难受怎么办?
下列句子所用的修辞方法及其意义理解正确的一
重庆西部新城客运站到永川最新时刻表
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?