通过#ifndef和#define指令,你可以避免多次包含同一个头文件。在创建一个头文件时,你可以用#define指令为它定义一个唯一的标识符名称。你可以通过#ifndef指令检查这个标识符名称是否已被定义,如果已被定义,则说明该头文件已经被包含了,就不要再次包含该头文件;反之,则定义这个标识符名称,以避免以后再次包含该头文件。下述头文件就使用了这种技术:
当预处理程序处理上述头文件时,它首先检查标识符名称_FILENAME_H是否已被定义——如果没有被定义,预处理程序就对此后的语句进行预处理,直到最后一个#endif语句;反之,预处理程序就不再对此后的语句进行预处理。