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