最小単位が1秒の精度で良い場合は time() 関数を利用する。
time()関数は以下の書式で利用する。
#include <time.h>
time_t x;
x = time(NULL);
時刻を表す型は、time_t 型であり、1970年1月1日
0時0分0秒からの秒数を持っている。2つの処理にかかった秒数を計りたいときは
たとえば以下のようにする。
time_t start, end;
start = time(NULL);
  :
  :(なんらかの処理)
end = time(NULL);
printf("%d秒かかりました\n", end-start);
gettimeofday()関数を利用すると、マイクロ秒単位で計時できる。
この間数の使用には
#include <sys/time.h>
が必要で、なおかつ、引数として struct timeval 型の変数への
ポインタと、struct timezone 型の変数へのポインタが必要とな
る。
int gettimeofday(struct timeval *tp, void *);
struct timeval 型の変数に1970年からの秒数と、1秒きっか
りからのマイクロ秒が入る。struct timeval構造体は、
struct timeval {
    long    tv_sec;
    long    tv_usec;
};
のように定義されている。2つの処理の間にかかった秒数をマイクロ秒単位で 求めるには、以下のようにする。
#include <sys/time.h>
int main()
{
  struct timeval t1, t2;
  struct timezone dummy;
  float elapse;
  gettimeofday(&t1, &dummy);
    :
    :(なんらかの処理)
  gettimeofday(&t2, &dummy);
  elapse = (t2.tv_sec - t1.tv_sec)
           + (float)(t2.tv_usec - t1.tv_usec)/1000000;
  printf("%f秒経過\n", elapse);
}
gettimeofday()関数に与える第2引数は特に使用しないので
ダミーの変数を確保して、そのアドレスを渡せばよい。