【发布时间】:2018-01-28 01:16:24
【问题描述】:
我正在学习c,但是我理解指针的概念,但在这里我遇到了麻烦。函数定义中的指针是什么意思。这里 v 是在函数中定义的局部指针,因此返回它意味着只有值将被复制和返回,或者将返回指向该块的指针,因为我还了解到局部变量在函数执行之前只有生命周期。有人愿意解释一下,会很有帮助。
struct verpl * nieuw (int van, int naar, int aantal, register struct verplaatsing * lijst)
{
register struct verpl * v = (struct verpl *) alloc(sizeof(struct verpl));
aNieuw++;
v->van = van;
v->naar = naar;
v->aantal = aantal;
v->volg = lijst; // plaats het element vooraan in de lijst
return (v);
}
函数调用
lijst = nieuw (via, huidig->naar, huidig->aantal - 1, lijst);
【问题讨论】:
-
首先:去掉
registers;他们只会造成伤害。(第二:移除演员表) -
你确定
alloc吗? -
我不明白您为什么将
lijst作为函数参数struct verplaatsing *的参数传递,然后将函数返回值分配给它,即struct verpl *类型。它们是不同的类型。 -
请分这么长的句子,难懂是对的
-
@WeatherVane 有 3 个递归调用,而 lijst 是一个指针。
标签: c