インクルードガードは普通同じファイルを二度インクルードした際に宣言の重複を
させないためのもの。ヘッダからヘッダをインクルードしていると、これはよく
発生する。

[header1.h]
#include "header.1"
...

[header2.h]
...

[source.c]
#include "header1.h"
#include "header2.h"

↑こうするとheader2.hは二回インクルードされる