大家好。我正在为学校开发一个项目,我需要通过多个函数通过引用传递一些参数。我了解如何通过引用从声明变量的位置传递到另一个函数,如下所示:
main() {
int x = 0;
int y = 0;
int z = 0;
foo_function(&x, &y, &z);
}
int foo_function(int* x, int* y, int* z) {
*x = *y * *z;
return 0;
}
但是,如何将 x、y 和 z 从 foo 函数传递到另一个函数?像这样的事情给了我各种编译器警告。
int foo_function(int* x, int* y, int* z) {
*x = *y * *z;
bar(&x, &y, &z);
return 0;
}
int bar(int* x, int* y, int* z) {
//some stuff
}
只需使用:
bar(x, y, z);
X、Y 和 Z 已经是指针 - 只需直接传递它们即可。
请记住 - 指针是内存中的一个位置。位置不变。当您取消引用指针(使用 *x = ...)时,您正在该位置设置值。但是,当您将其传递给函数时,您只是传递内存中的位置。您可以将同一位置传递给另一个函数,并且效果很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)