#ifdef #ifndef
Update on June 02, 2016
C言語の #ifdef と #ifndef の使い方についてまとめました。
確認環境:Eclipse 4.5.2
ソースコード見たほうが早いですね。
実行結果です。
解説:
#ifdef 【宣言名】
:
#endif
がひとつのかたまりです。
【宣言名】が #define で定義されていれば、このかたまりは実行されます。
これとは逆に、
#ifndef 【宣言名】
:
#endif
【宣言名】が #define で定義されていなければ、このかたまりは実行されます。
このように、ある時は実行させたいけれど、ある時は実行させたくないという箇所を、
#ifdef ~ #endif、#ifndef ~ #endif でくくっておけば、
#define の定義を切り替えるだけで、実行したり、実行しなかったりを変えることができ、
コメントアウトやコメントインよりも柔軟な対応ができるので、特にデバッグの時に便利です。
なお、#ifdef、#ifndef、#endif、#include などの 「#」がつくものを ディレクティブ と言います。