苦C さんが書きました:疑問点がありまして、35行目の for (point = start; point; point = point->next)
の部分のpoint;のみ書かれている条件は何のために存在しているのでしょうか??
for (point = start; point; point = point->next)
は
for (point = start; point != NULL; point = point->next)
と同じ意味です。
「for (式1; 式2; 式3) 文」という for文は、
「式2」が 0 でない間、「文」と「式3」を実行します。
(1) 式2 が「point != NULL」のとき、
point が NULL でないなら、演算子 != の実行結果は 1 です。
point が NULL なら、演算子 != の実行結果は 0 です。
(2) 式2 が point のとき、
point が NULL でないなら、それは「0 ではない」ということです。
point が NULL なら、それは「0 である」ということです。
(1) でも (2) でも
point が NULL でない間、「文」と「式3」を実行するので、同じです。
[quote="苦C" id=3,19349,146395]疑問点がありまして、35行目の for (point = start; point; point = point->next)
の部分のpoint;のみ書かれている条件は何のために存在しているのでしょうか??[/quote]
for (point = start; point; point = point->next)
は
for (point = start; point != NULL; point = point->next)
と同じ意味です。
「for (式1; 式2; 式3) 文」という for文は、
「式2」が 0 でない間、「文」と「式3」を実行します。
(1) 式2 が「point != NULL」のとき、
point が NULL でないなら、演算子 != の実行結果は 1 です。
point が NULL なら、演算子 != の実行結果は 0 です。
(2) 式2 が point のとき、
point が NULL でないなら、それは「0 ではない」ということです。
point が NULL なら、それは「0 である」ということです。
(1) でも (2) でも
point が NULL でない間、「文」と「式3」を実行するので、同じです。