ifdef is a include guard. It is a define directive in C which checks if a MACRO has been defined previously or not. If it has been defined, it will define more MACROs and other statements. It is used for conditional compilation.
This is a companion discussion topic for the original entry at http://iq.opengenus.org/ifdef-directive-in-c/