typedef struct slist *LInt;
typedef struct slist{
int value;
LInt next;
}Node;
void reverse(LInt *l){
LInt tail;
if(*l){
tail=(*l)->next;
reverse(&tail);
snoc(&tail,(*l)->value);
free(*l),
*l=tail;
}
}
main では、次のように関数を呼び出します。(l は "LInt l" です) そして snoc が行うことは、リストの最後のリンクに値を配置することです。
私の質問は、関数を呼び出すときに「l」のアドレスを渡す必要があるのはなぜですか? そして、なぜリバースのヘッダーに "LInt *l" があるのでしょうか? 渡したアドレスへのポインタですか?
ばかげた質問で、文法的な誤りがあれば申し訳ありません (英語は私の母国語ではありません)。
前もって感謝します。