美文网首页
2024-01-17形参与实参如何更容易理解?

2024-01-17形参与实参如何更容易理解?

作者: 匿名老师 | 来源:发表于2024-01-17 08:57 被阅读0次

u前提:已知道什么是形参,实参。

例:void   change(int a ,int b )

       {      a=2*b; b=0;}

        int main()

{

         int x=3,y=4;

        change(x,y);//调用函数

        cout<<x<<'  '<<y;

        return 0;

  }

程序的头文件我们暂时不写了。

这个时候我们可以看到,结果没有发生变化,那我们更改下change函数。

void   change(int a ,int b )

       {      a=2*b; b=0;  cout<<a<<' '<<b<<endl;}

由此可以看到,函数确实起到了作用,但是却没有更改函数外的变量。什么原因呢?

然后对a,b指向的内存单元进行更改,和x,y对应的内存单元没啥关系,只是用了用人家的值。

那如何不仅用人家的值还用人家的内存单元呢?比较阴险,哈哈。

就跟一个人起两个名一样,定义时算是人家的大名,那咱们函数用的时候,再给人家起个小名,证明这是咱们的函数用的,嘿嘿。不过虽然人家是小名,也对内存空间有操作权。看小名的吧,它是这样的:

这样,虽然是小名,也可以和大名有同样的权利了。那怎么说,我是小名呢?我们在函数参数的前面加上取地址符&即可。

void   change(int &a ,int &b )

       {      a=2*b; b=0;  cout<<a<<' '<<b<<endl;}

不仅函数内部数值改变了,也对函数外部的参数起了作用。证明了大名小名都是名,都有同样的对内存单元值更改的权利。yeah!!!!!!!!!

形参和实参你会了吗?

如果对&没有太深理解的话,先记住这个形式,等我们下次讲的时候就知道啦!

相关文章

  • 形参与实参 

    值调用 值调用就是调用函数时,给形参分配内存空间,将实参拷贝给形参,之后的函数执行中形参和实参就脱离了关系,谁都不...

  • Python-函数

    如何定义函数 函数的参数 形参与实参 code: 两种实参 code: 两大形参分类 两个带默认值的形参 不带默认...

  • 实参与形参

    dq 喜欢用这个表达. 专门查一下, 备忘. 实参对应 argument, 是函数调用的时候真正扔进去的参数. 形...

  • Python3:函数

    示例 位置实参与关键字实参 使用位置实参调用函数,实参的顺序要和形参的顺序一样 关键字实参通过形参名-实参的形式传...

  • python实参与形参

    1.形参与实参 name是形参,Neil是实参,greet是一个函数,Neil的值传给函数,保存在形参中2.位置实参

  • 形参与实参的区别

    形参与实参详解 总结:    1.java的基本数据类型是传值调用,对象引用类型是传引用。    2.当传值调用时...

  • C语言形参与实参

    C语言中形参与实参的关系是:形参是实参的值副本,无论参数的类型是什么,传递到子函数的形参只是实参的值。在子函数里改...

  • JS形参与实参问题

    1.通过实参调用函数的时候,传入函数里的是实参的副本而不是实参,因此在函数里面修改参数值并不会对实参造成影响。 例...

  • 形参与实参的区别?

    直接上图, 形参值是实参所发生改变后的值,也可以叫做运行过程中存在的变量。 而实参只有...

  • JavaScript基础 函数传参

    实参:实际参数(所有的数据类型都可做实参)形参:形式参数(变量) 实参与形参一一对应; 例: 例题: 注意:局部变...

网友评论

      本文标题:2024-01-17形参与实参如何更容易理解?

      本文链接:https://www.haomeiwen.com/subject/sygkodtx.html