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

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!!!!!!!!!

形参和实参你会了吗?

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容