この関数の目的
clock()は、現在のプロセッサ時間を提供する。
定義
#include <time.h> clock_t clock(void);
働き
この関数は、使用したプロセッサ時間を決定する。
返り値は、プログラムの実行のみに関係する、処理系定義の点から経過したプロセッサ時間を処理系で最高に近似したものである。
秒での時間を決定するには、返り値を CLOCKS_PER_SEC
マクロで割ればよい。
プロセッサ時間が使用できないか、値が表現できない場合は (clock_t)-1
が返る。
解説
clock_t は算術型(arithmetic type)である。算術型とは整数型と浮動小数点数型のどちらかをいう。 よって、あるコード部分の実行時間を計測するのに
clock_t offset; offset = clock(); /* ... */ printf("%g", (double)(clock() - offset) / CLOCKS_PER_SEC);
と書いて動作することは規格上、保証される。