您好、欢迎来到现金彩票网!
当前位置:大发体育在线 > 址传 >

vb值传与址传问题

发布时间:2019-07-10 10:37 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  第一个过程:Public Sub p1(x%, y%)中的 x%,y% 前面没有任何修饰符,表示为址传,这种传递方式可以把它想像为:x就是a,y就是b,在过程结束之后,x值是多少a就是多少,y是多少b就是多少。至于C,在call p1(a,b)这个语句已表明根本就没有传递C值,故C还是原来的值,即6

  第二个过程:Public Sub p2(x%, ByVal y%) 中有:x% 这是址传,意思同上,过程结束后,x是多少a就是多少。而byval y% 有byval修饰符,这个叫值传,就是只传递值,b不会随着y的值变化而变化,过程结束后,无论y是多少,b还是会保持原来的值。追问您说的址传值传我还能明白。

  “至于C,在call p1(a,b)这个语句已表明根本就没有传递C值,”这句看不懂。

  Dim c%(有这个,结果是4 6 6,没有,结果是4 6 10,何解? )

  真不好意思各位,弄明一定会再加分。追答Dim a%, b%, c% 这句定义的c是整个类的局部变量,只要在这个类中,无任何地都可以使用,包括过程、方法和事件。

  而过程里面 Dim c% 又定义了一个变更c,这时就出现的两个c,为了避免冲突,系统默认在过程中的c会使用过程中声明的变量c,而不会使用整个类中声明的变量c。

  如你所说:如果过程P1中没有Dim c%这句,这时c就会使用整个类中声明的变量c。于是

  Dim c% 这句已表明,在本过程中c为本过程的私有局部变量。与过程外的所有变量都无关

  展开全部传值-----形式参数 只是复制一份使用 并不存在计算机内存的同一地址

  传址----也叫引用 实参数 形参和实参都是用同一内存地地址,改变1个其它都改变了

  你既然已经有模块变量 c% 那你过程里面为什么还要 定义 c% 局部变量 优先于全局变量

  我就是想不通主调过程p1 不是x变了4,y变了6,然后c=x+y变了10吗?怎么c没有变输出了还是6?p1中Dim c%又意味着什么?真不好意思,有些知识我不太了解,希望再讲讲。追答看来你要好好看看书了,这道题目对初始者来说是比较太大,我也不是很明白。觉得里面变量错踪复杂,怪不得是一道题目。平时谁编程如果这么用,真是大傻一个。

  P1,P2过程又定义过程变量,过程变量优先于楧块变量,也就是说 C模块变量在P1,P2过程被局部变量替代,并没有改变模量变量

  win8是不支持VB6程序了,我也是从VB6过渡到2010 建议直接学VB.NET或者使用C#

http://usdiclofenacs.com/zhichuan/229.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有