【发布时间】:2015-11-18 22:26:55
【问题描述】:
我有 linklist 可以正常工作的 c 程序,但后来的要求是不能使用全局变量。所以我不得不重新设计所有东西以避免传递参数,但是有些部分很难重新设计,并且一些函数正在调用函数和另一个函数,一个例子是在显示器上。
int main() {
display(&head, &tail);
}
void display(myrec **head, myrec **tail) {
sort(&*head, &*tail)
then sort again call function swap
}
我的问题是如何正确地多次传递参数。使用 sort(&*head, &*tail) 程序无法正常工作,没有语法错误,但现在数据中缺少条目。我试图在显示函数上编写所有代码只是为了检查它确实如此,所以我猜我在传递变量时做错了。谢谢。
它不是递归,head和tail是保存链表状态的变量,所以在swap中是change,我还需要将变化反映给root caller,程序的其他部分需要新的状态头和尾。
【问题讨论】:
-
&*x = x;这是多余的。请创建一个minimal reproducible example -
投反对票的原因是什么?
-
你如何定义
sort? -
&*E等价于E(N1256 6.5.3.2 地址和间接运算符脚注87),因此您可以使用head和tail而不是&*head和&*tail.
标签: c parameters out