この関数の目的
time()は、現在のカレンダー時間を提供する。
定義
#include <time.h> time_t time(time_t *timer);
働き
この関数は、呼び出し時のカレンダー時間を決定する。値のエンコーディングは未指定である。
返り値は、カレンダー時間を処理系で最高に近似したものである。
カレンダー時間が使用できない場合は (time_t)-1
が返る。
timer がヌルポインタでなければ、ポインタが指すオブジェクトにも返り値が格納される。
解説
time_t
の実装は未定義であるため、これを様々な目的に使うためには ctime() 、
asctime() 、 localtime() などの関数が必要になる。
ところが、 time_t
は算術型(arithmetic type)である。算術型とは整数型と浮動小数点数型のどちらかをいう。
よって、 srand((unsigned)time(NULL));
と書くのは問題ない。