>>110

#ifndef Hoge_h_INCLUDED // (1)Hoge_h_INCLUDED が定義されていない場合
#define Hoge_h_INCLUDED // (2)Hoge_h_INCLUDED を定義する

(3) 実装ファイルが「どんな事ができるのか、それはどんなサイズなのか」を定義

#endif // (4)もし(1) の時点で Hoge_h_INCLUDED が定義されているえば (2) と (3) を無視してここまでくる

ちゃんとガードできていれば一回のコンパイルで (2) と (3) には複数回到達しない。