インクルードの二重定義を防止するには

#ifndef 適当な定数名
#define 適当な定数名(上の#ifndefと同じ定数名)

 インクルードファイルの中身

#endif

こうするとインクルードの二重定義がおこらない。
ついでにtypedef宣言あたりも衝突しないから便利。


ただし、適当な定数名は、他のヘッダファイルの定数名と重複してはいけない。
重複した場合、必要なヘッダファイルが読み込まれなくなってしまう。