長いif文があるとき、速度に影響するのはif文を実行したときだけですか? あと関数の宣言がずらっと並んでいると呼び出しに時間が掛かるような気がしてしまうのですが大丈夫でしょうか。

C言語関連 | プログラミング73閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

その他の回答(4件)

0

【if 文の形式】 if (式) 文 こういう形式になります。 ~例~ if (x == 0) { x = 123; } 式:x == 0 文:{ x = 123; } 『長いif文があるとき、速度に影響するのはif文を実行したときだけですか?』 《括弧内の式が長い場合》 そうなります。その if 文を実行する際、式の評価が実施されます。そして、式が長い場合は式の評価に相応の時間が掛かる傾向があると言って差し支えないと思います。ただ、実際にはそこから関数呼び出しが行われる場合もあり、そうすると式の長さは殆んど関係ないレベルとなることもあり得ます。 《文のところが長い場合》 if 文の括弧内にある式が成立した場合に限ります。不成立の場合、その文のところは実行されませんので速度に影響しません。 『関数の宣言がずらっと並んでいると呼び出しに時間が掛かるような気がしてしまうのですが大丈夫でしょうか。』 《単一の関数宣言が複雑になっており、引数の部分がずらっと並んでいる場合》 引き数を準備するのに時間が掛かります。なので、お考えの通りと言っても良いと思われます。ただし、これは上級者向けの考え方になると思われます。入門段階の方はそのようには考えない方が良いです。 《複数の関数宣言がずらっと並んでいる場合》 呼び出しに掛かる時間とは無関係になります。

1

そんなのど~~~でもいい!! 今のコンピュータは無茶苦茶早いからそんな事問題ではない 実行時間を気にするより プログラミング時間を短縮する方法を考えるべきだ

1人がナイス!しています

0

条件分岐だけ影響がある可能性があります。 CPUは分岐予測して可能性が高い方を実行しますが、ミスした場合はやり直しが発生し、その分大きくロスします。

3

今のコンパイラは十分に賢いから、この質問を人に聞かなければいけないレベルのうちは気にしなくて大丈夫。

3人がナイス!しています