ということは
#ifndef ANYHEADER_H
#define ANYHEADER_H  の順番が大事なんですか?
仮に
#define ANYHEADER_H
#ifndef ANYHEADER_H としてしまうと、すでにANYHEADER_Hが
定義されているから、一度もインクルードされないってなるんですか?
間違ってたらすごく恥ずかしい質問になってしまったような・・・