#ifndef ディレクティブは、マクロが定義されていないかどうかをチェックします。
指定された ID がマクロとして定義されていない場合、条件の直後にあるコードの行がコンパイラーに渡されます。
プリプロセッサーの #ifndef ディレクティブの形式は、次のとおりです。
.----------------. V | >>-#--ifndef--identifier----token_sequence-+--------------------> >--newline_character-------------------------------------------><
ID は、#ifndef キーワードの後に続いていなければなりません。 以下の例は、プリプロセッサーに対して EXTENDED が定義されていない場合に、MAX_LEN を 50 であるとして定義します。 定義されていない場合、MAX_LEN を 75 であるとして定義します。
#ifndef EXTENDED # define MAX_LEN 50 #else # define MAX_LEN 75 #endif