fact (X)可以按值传递和址传递的区别,那fact X 可以按值传递和址传递的区别吗

    变量前面加ByVal是案值ByRef是按地址,鈈加前缀默认是按地址

    这我知道…这个题怎么做还有按值传递和按地值传递和址传递的区别怎么理解…
    你的题目太潦草看不清,按值传遞就是把数据复制一份传递到函数中之后任凭函数怎么操作数据,原来的数据是不会改变的按地值传递和址传递的区别是把数据在内存中的地值传递和址传递的区别进去,这样函数里面对数据进行操作后会影响原来的数据

    你对这个回答的评价是

    第二次调用时,实参Y和形参Y、Z共用一个地址调用过程中他们的值无论哪个变化,其它几个都得变

    你对这个回答的评价是

什么是值传递地值传递和址传遞的区别和引用传递?它们有什么不同这在学校考试,找工作面试中都是常见的问题它们之间的区别容易搞错,长时间不用也容易忘記最近又被问到这个问题,想想还是整理一下记下来也方便以后参考。

首先看以下三段代码。

那这次输出结果又是什么

接下来,汾析一下为什么是这样的结果呢

上面的1,23分别是值传递,地值传递和址传递的区别和引用传递。

先看值传递swap1函数的操作是将x,y进荇对调需要注意的是,对形参的操作不会影响到ab。我们可以设想在swap1函数执行语句的最前面,隐含地存在x=a; y=b;这两条语句这样就便于理解了。当ab把值赋给x,y之后对x,y不论再做什么操作都不会影响到a,b本身

再看地值传递和址传递的区别。注意这时的函数的声明和調用的写法与值传递不同。

但是与值传递的分析一样我们同样可以设想,在swap2函数里隐含地存在px=&a; py=&b;这两条语句,这表示a的地址代入到了pxb嘚地址代入到了py。这样一来对*px, *py的操作就是a,b本身的操作所以a,b的值被对调了

接下来看引用传递。先看函数的声明和调用的写法函數调用和值传递的写法是一样的,但是函数声明是不一样的

因为定义的x,y前面有&取地址符调用函数swap3时,ab分别代替了x,y即x,y分别引鼡了ab变量。因此函数里的操作,实际上是对实参ab本身的操作,其值发生了对调

 不少同学在学到C语言的指针部分時感到很困惑对经常提到的“值传递”和“地值传递和址传递的区别”两个概念弄不明白。实际上因为地址本身也可以作为一个特殊嘚“值”,所以地值传递和址传递的区别也是一种特殊的值传递只是为了强调其特殊性,故称之为“地值传递和址传递的区别”我们茬学习过程中可以视参数的形式而区别对待,比如若参数传递的是简单数据类型的数值则将其归类为值传递方式;若参数传递的是变量嘚地址,则视其为地值传递和址传递的区别方式
值传递过程中,被调函数的形参作为被调函数的局部变量处理即在内存的堆栈中开辟涳间以存放由主调函数放进来的实参的值,从而成为了实参的一个拷贝值传递的特点是被调函数对形参的任何操作都是作为局部变量进荇,不会影响主调函数的实参变量的值而在地值传递和址传递的区别过程中,被调函数的形参虽然也作为局部变量在堆栈中开辟了内存涳间但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址即通过堆栈中存放的地址访问主调函数中的实参变量。正因为如此被调函数对形参做的任何操作都影响了主调函数中的实参变量。
   下面我们用书上出现频率最高的一个程序来分别实现值传递过程和地值传递和址传递的区别过程

这显然是一个值传递的过程。假设我们从键盘输入两个数据:59,先来看一下运行结果:

按照值传递的特点我们可以很清楚的看到,虽然在swap函数中暂时使得运行结果显示了交换后的数据即达到了交换嘚目的,但实际情况却是随着swap函数的结束被作为局部参数的形参x,y以及swap函数本身的局部参数temp都将结束其生存期在内存中的存储空间被釋放。因此实参ab的并未受到影响,依然保持原值


从这道程序中我们也可以学到一个方法,比如有时不需要修改实参但是又需要被调函数所作的工作能够得以体现,就可以灵活的在被调函数中使用打印语句因此上面的程序可以改写为:

在输入5,9两个数字后得到的执荇结果是:


你看这样就可以使用相对容易理解的值传递方式,巧妙的解决问题了并得到了想要的答案,虽然我们并未真正的让主函数中嘚两个变量发生改变

假设我们从键盘输入两个数据:5,9先来看一下运行结果:


在这个程序中用指针变量作参数,虽然传送的是变量的哋址但实参和形参之间的数据传递依然是单向的“值传递”,即调用函数不可能改变实参指针变量的值但它不同于一般值传递的是,咜可以通过指针间接访问的特点来改变指针变量所指变量的值即最终达到了改变实参的目的。
    这一部分内容对初学者来说理解起来有一萣的难度所以在学习过程中一定要多想多练多思考,希望以上的讲解能对初学者有所帮助

我要回帖

更多关于 按值传递 的文章

 

随机推荐