如何在 C 中通过引用传递变量?

How do pass variable pass by reference in C?

我想通过引用传递方法显示 x、y、z 值,该怎么做?

感谢任何帮助。

这只是使用间接的情况,在 C 中意味着指针:

// Declare any arguments that are mutated as pointers
void f1(int* x, int* y, int z) {
  *x = *y + z;
  *y = z + 1;
  printf("x: %d y:  %d z: %d", *x, *y, z);
}

int main(int argc, char *argv[]) {
  int r = 5;
  int t = 10;
  int k = 15;
  f1(&r, &t, t + k);
  printf(" r : %d t:  %d k : %d",r,t,k);
}

请注意,为了使用指针,您必须有指向的东西。 t + k 不是那些东西。可以说 z 没有作为参数发生变化,所以它可能是一个普通的 int.

就操作顺序而言,t + k 在突变发生之前被计算并分配为参数。