通过引用调用一个变量,该变量由另一个函数通过引用调用而不使用全局变量

时间:2012-07-20 06:08:35

标签: c

我没有得到这一部分。如果我不被允许使用全局变量,我怎么能这样做?例如:

main()
{ int z;
  function1(&z);
}

function1(int *x)
{
  function2(&x);
}

function2(int *number)
{
   ++(*number);
}

1 个答案:

答案 0 :(得分:3)

function1拨打function2时,只需传递x,而不是&x

function1(int *x)
{
  function2(x); /* not &x */
}

&x会将function2指针传递给指向int的指针,但声明它只会指向int

其他问题:z应该被初始化,并且函数应该具有前向声明,在main之上声明。应声明main返回int,并在成功时返回0。如另一个答案中所述,您的其他函数也需要返回类型。

void function2(int *number)
{
   ++(*number);
}

void function1(int *x)
{
  function2(x);
}

int main()
{
  int z = 0;
  function1(&z);
  return 0;
}