clock

プログラム実行開始からの経過時間(プロセッサ時間)を取得する

【書式】
#include <time.h>
clock_t clock(void);

【説明】
プログラム実行開始からの経過時間(プロセッサ時間)を返却します。経過時間の精度は処理系に依存します。
clock関数を2回呼び出し、経過時間の差を求めることにより、処理時間を算出することが出来ます。
経過時間を秒で表現するには、CLOCKS_PER_SECで割る必要があります。

【引数】
なし

【戻り値】
正常時  : プログラム実行開始からの経過時間(プロセッサ時間)
エラー時 : (clock_t)-1  ※(clock_t)型でキャストされた-1

【使用例】
#include <time.h>
#include <stdio.h>

int main(void)
{
   clock_t start, end;
   long l;

   start = clock();

   for (l=0; l<100000000; l++);

   end = clock();
   printf("空ループ1億回の時間: %f秒\n", (double)(end - start) / CLOCKS_PER_SEC);

   return 0;
}
※このサンプルプログラムはdifftime関数のサンプルプログラムと同様の処理をします。
 ただし、秒以下の単位を取得するには clock関数 を用い、長時間の計測を行う場合には difftime関数 を用いてください。これは、clock関数がプロセッサ時間を返却するため返却値の上限が低いためです。(2001.11.16追記)

【実行結果例】
空ループ1億回の時間: 1.650000秒     (注)Turbo-C++ Version4.0で確認

戻る


banner
初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved