ifndef 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 not been defined, it will define the 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/ifndef-directive-in-c/