首页 > 后端开发 > C++ > 函数内部的参数修改如何影响 C 和 C 中的调用函数?

函数内部的参数修改如何影响 C 和 C 中的调用函数?

Barbara Streisand
发布: 2024-12-18 22:57:18
原创
540 人浏览过

How Do Parameter Modifications Inside a Function Affect the Calling Function in C and C  ?

函数内的参数修改:对调用者的影响

修改函数内的参数时,了解其对调用者的影响至关重要。在提供的代码片段中:

<br>void trans(double x,double y,double theta,double m,double n)<br>{<pre class="brush:php;toolbar:false">m=cos(theta)*x+sin(theta)*y;
n=-sin(theta)*x+cos(theta)*y;
登录后复制

}

调用此函数trans(center_x,center_y,angle,xc,yc) 不会直接修改 xc 和 yc 的值。发生这种情况是因为 C 按值传递函数参数,这意味着函数接收变量的副本。

要解决此问题,您有两个选项:

1。在 C 中:

使用引用通过引用传递参数,修改函数内的原始变量:

<br>void trans(double x, double y,双 Theta、双 & m、双 & n)<br>{<pre class="brush:php;toolbar:false">m=cos(theta)*x+sin(theta)*y;
n=-sin(theta)*x+cos(theta)*y;
登录后复制

}

2.在 C:

通过使用指针显式传递地址来传递参数:

<br>void trans(double x, double y, double theta, double<em> 米,双</em> n)<br>{<pre class="brush:php;toolbar:false">*m=cos(theta)*x+sin(theta)*y;
*n=-sin(theta)*x+cos(theta)*y;
登录后复制

}

通过这些修改,调用 trans(center_x,center_y,angle,xc,yc) 将直接更新xc 和 yc 的值。如果需要这种行为,则需要使用引用或指针来实现所需的效果。

以上是函数内部的参数修改如何影响 C 和 C 中的调用函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板