我想说的就一个问题,在面试的时候没想起来,面试完之后又想起来了。所以我想说说这个问题。
问:引用传参和值传参的区别是什么?
我:1、引用是别名,不占用内存空间,值是要占用内存空间。2、引用会改变所引用变量的值,而值传参不会。
接着,他就顺着我问:为什么引用传参会改变所引用的值,而值传参不会,是怎么实现的?
我:引用传参是别名,修改这个值就是修改所引用的值。值的话(懵逼5秒钟),然后我就说我不知道。
面试完两分钟之后就想到了:(答案我上面也隐式的包含了),因为值传参是要分配内存的呀!也就是说,值传参是把实参的值赋给形参了(你说对另一个不相关的分配了内存地址的值进行操作跟实参<在另一个空间分配了内存的值>是半毛钱的关系都没有啊)。
*下一篇:面试笔记二(关于main和获取不重复的随机数)*https://mp.youkuaiyun.com/mdeditor/84829411#