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

vb 这些选项中 哪个可用于传值那个用于传址?

发布时间:2019-08-13 21:19 来源:未知 编辑:admin

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

  知道合伙人软件行家采纳数:1337获赞数:5492税畅核心工程师向TA提问展开全部vba 传递参数值时,分为Byval 和Byref

  可以理解为:形参相当于公式中的自变量,实参相当于使用公式时代入自变量中的具体数值。

  Byval,值传递参数,将变量的内容复制了一遍,过程操作的是另外一个变量,只不过这两个变量名称一样,值一样

  本题中,A选项,x+1就固定了x+1为数值型参数,int(x)固定了这个参数是整形,“x就固定了这个参数是String形,只有C选项是变体型变量,可以进行按地址传递。

  值传递只是将变量的内容复制一份而已,函数进行操作的其实是另一个变量,只是另一个变量的值和传递的变量值是相同的。

  而地址传递是直接把变量的地址传递给函数,这时函数是直接对原来的变量进行操作的。所以值会变化。

  举例说吧:值传递就相当于克隆了一个同样的变量,操作的是克隆出来的那个,原来的变量没有变化,但是地址传递是直接对原来的变量进行操作,没有克隆新的变量。。。懂了吧,,,

  也可以这样理解:比如要考试了,你有一份复习题,值传递就相当于别人借你的试卷去复印,然后在复印的那份上面做笔记,而地址传递就是别人直接在你原有的试卷上做笔记,没有复印,所以等你拿回来你会发现自己的试卷乱七八糟的,,,这下应该懂了哦。。。

  其他三个都是表达式,只能按值传递;追问x+1为什么不能是追答它是表达式,所以不能传址

  传址调用的时候,形参的值如果改变会直接改变实参的值,那么如果实参为x,调用前x=10,调用后x=20,这没问题。但是假如表达式也可以进行传址调用,比如参数为x+y,调用前x+y=10,调用后参数的值变为20,这时候问题来了,这个20究竟要如何赋值给x+y这个表达式呢?x多少?y多少?因此,表达式是只能进行传值调用的,也就是只能把表达式的值作为参数进行传递,至于这个参数的值如何改变就跟表达式完全没有关系了!

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