大家好.我正在为学校做一个项目,我需要通过多个函数通过引用传递一些参数.我理解如何通过引用将变量声明的位置传递给另一个函数,如下所示:
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; }
但是,如何将foo函数中的x,y和z传递给另一个函数?像这样的东西给了我各种编译器警告.
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 }
Reed Copsey.. 11
只需使用:
bar(x, y, z);
X,Y和Z已经是指针 - 直接传递它们.
记住 - 指针是内存中的一个位置.位置不会改变.取消引用指针(使用*x = ...)时,您将在该位置设置值.但是当你将它传递给一个函数时,你只是在内存中传递该位置.您可以将相同的位置传递到另一个函数,它工作正常.
只需使用:
bar(x, y, z);
X,Y和Z已经是指针 - 直接传递它们.
记住 - 指针是内存中的一个位置.位置不会改变.取消引用指针(使用*x = ...)时,您将在该位置设置值.但是当你将它传递给一个函数时,你只是在内存中传递该位置.您可以将相同的位置传递到另一个函数,它工作正常.