C関数で引数として:何不要として私を打つことは地元のポインタの宣言(あるポインタ私は、単純なgetListLength()関数はこのようになります読んだ多くの例で
int getListLength(struct node *head)
{
struct node *temp = head;
int iCount = 0;
while (temp)
{
++iCount;
temp = temp->next;
}
return iCount;
}
を渡されたパラメータをコピーするこの場合は* temp)。私が正しくリコールすれば、渡されたパラメーターは自分のコピーを取得します。したがって、*ヘッドはコピーそのものなので、*ヘッドをコピーするローカルポインタは必要ありません。 つまり、* tempポインタを破棄して代わりに頭を使用するのは正しいでしょうか?
"コードがより長く複雑な場合。" - 私はそれで議論することができます。関数が1つのOPより長い場合は、複数のタスクを実行し、変数名を記憶する必要があるほど複雑な場合は、その関数をリファクタリングする必要があります。 –
それはおそらく本当ですが、現実の世界はまれに完璧なものではありません。 – jjlin