• 技术文章 >常见问题

    传值和传址的区别是什么

    coldplay.xixicoldplay.xixi2021-02-25 11:32:20原创3567

    传值和传址的区别:1、在传值中函数参数压栈的是参数的副本,任何的修改是在副本上作用,没有作用在原来的变量上;2、传址中压栈的是指针变量的副本,当你对指针解指针操作时,其值是指向原来的那个变量。

    本文操作环境:Windows7系统,Dell G3电脑。

    传值和传址的区别:

    1、在传值中函数参数压栈的是参数的副本,任何的修改是在副本上作用,没有作用在原来的变量上。

    2、传址中压栈的是指针变量的副本,当你对指针解指针操作时,其值是指向原来的那个变量,所以对原来变量操作。

    520769de0393bfe2a5a004f204213c4.png

    扩展资料

    函数传参有三种传参方式:传值、传址、传引用。

    1、按值传递

    (1)形参和实参各占一个独立的存储空间。

    (2)形参的存储空间是函数被调用时才分配的,调用开始,系统为形参开辟一个临时的存储区,然后将各实参传递给形参,这是形参就得到了实参的值。

    2、地址传递

    地址传递与值传递的不同在于,它把实参的存储地址传送给形参,使得形参指针和实参指针指向同一块地址。因此,被调用函数中对形参指针所指向的地址中内容的任何改变都会影响到实参。

    3、引用传递

    引用传递是以引用为参数,则既可以使得对形参的任何操作都能改变相应数据,又使函数调用方便。引用传递是在形参调用前加入引用运算符“&”。

    引用为实参的别名,和实参是同一个变量,则他们的值也相同,该引用改变则它的实参也改变。

    相关免费推荐:编程视频课程

    以上就是传值和传址的区别是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:传值 传址
    上一篇:adobe flash player怎么修复 下一篇:怎么打开bin格式的文件

    相关文章推荐

    • php如何实现表格传值• php传值与传引用的区别• java怎么传值?• php如何实现在不同页面间传值

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网