最初のget_first()を使用してリストを反復処理し、その後get_next()を呼び出して、リストの最後にNULLを返すとします。
どちらを読みたいですか?
element = get_first(list);
while (element)
{
process(element);
element = get_next(list);
}
対。
for (element = get_first(list); element; element = get_next(list))
{
process(element);
}
反復の状態はリスト構造体内に保存されます。
私は個人的にはこのバージョンに慣れていwhile
ますが、誰かがこのバージョンを使用しているのを見たとき、for
何が起こっているのかも簡単に理解できたので、今ではほとんどの人にとってどちらが読みやすいのか疑問に思います。