【发布时间】:2010-07-23 00:17:04
【问题描述】:
自从我上次编写 C 以来已经有一段时间了,我似乎忘记了一切 与此同时...我有一个非常简单的指针问题。假设我有 通过循环迭代计算和的函数。这个功能不仅应该 返回循环计数器以及它计算的总和。因为我只能退回一个 值我假设我能为总和做的最好的事情是声明一个指针。我可以这样做吗:
int loop_function(int* sum)
{
int len = 10;
for(j = 0; j < len; j++)
{
sum += j;
}
return(j);
}
....
int sum = 0;
loop_function(&sum);
printf("Sum is: %d", sum);
或者我是否需要定义一个额外的变量来指向我传递给函数的总和?
非常感谢, 马库斯
【问题讨论】:
-
没有任何迹象表明这与 C++ 远程相关,所以我删除了 C++ 标签。
-
@Nikko 两者都一样。
-
它会起作用,但在 C++ 中你会使用引用。在某些情况下,您需要这样的指针,但在 sum 永远不会为空、始终使用并且您没有将函数导出到另一种语言的情况下...使用引用。
-
感谢我们所有的 cmets,它现在工作正常。