在c中传递参考?

时间:2013-12-09 19:48:36

标签: c

我只是想知道是否有人可以回答我对即将到来的考试的评论问题。不幸的是,我没有一个双重检查的答案键,我想确保我的答案是正确的。这是一个问题:

以下哪项正确地将对变量int max的引用传递给函数f

a) f(max);
b) f(*max);
c) f(&max);
d) f(ref_max);
e) None of the above

我最好的猜测是c。除非我完全错了,否则我确定a,d,e是不对的,并不是要求我取消引用任何选择b。如果我打破了这个网站的任何发布规则,我很抱歉,我知道这对你们大多数人来说可能都是一个简单的问题。

1 个答案:

答案 0 :(得分:1)

“e)以上都不是”

C无法通过引用传递int

最接近的其他候选人是“c)f(& max);”。在这种情况下,传递给f的参数不是max,而是max的地址。 max收到f(int *x)地址的副本。它接近max的“通过引用传递”,但它是max地址的“按值传递”。

int max;
void f(int *x);
f(&max);