程式中經常需要用到計時功能來對代碼的效率進行粗略的衡量,因此常要用到clock()函數,該函數是包含在time.h的標頭檔中的。
計時功能是基於clock_t這種資料類型的,在time.h檔案中可以發現其定義:
/* Define the implementation defined time type */</p><p>#ifndef _TIME_T_DEFINED<br />typedef long time_t; /* time value */<br />#define _TIME_T_DEFINED /* avoid multiple def's of time_t */<br />#endif</p><p>#ifndef _CLOCK_T_DEFINED<br />typedef long clock_t;<br />#define _CLOCK_T_DEFINED<br />#endif
clock_t實際上是就是指長整型的資料類型。
計時功能具體的使用方法是:
#include <stdio.h><br />#include <time.h></p><p>int main()<br />{<br />clock_t start, finish;<br />start = clock();</p><p>int counter = 0;<br />for(int i=0; i<1000000; i++)<br />{<br />counter++;<br />}</p><p>finish = clock();</p><p>printf("該程式已耗用時間為:%d 秒/n", (finish - start) / CLOCKS_PER_SEC);<br /> /* Clock ticks macro - ANSI version */<br /> //CLOCKS_PER_SEC 在time.h中的定義為:<br /> //#define CLOCKS_PER_SEC 1000<br /> //同時說明clock()的傳回值是毫秒</p><p>getchar();<br />return 0;<br />}