1、头文件应该放的内容 普通函数声明。宏定义。结构体、共用体模块定义。枚举常量列表。static函数和inline函数定义其他头文件。 2、详细的解说以上 普通函数的定义不能放在头文件,因为普通函数默认是所有文件可见的,假如一个头文件被几个.c源文件包含了,那么当它们一起编译时就会出现函数重定义的错误。static型的函数是可以放在头文件里的,因为这些函数被任何一个.c源文件包含了也不会与别的文件冲突,实际上static型函数一般都放在头文件里面。inline函数默认就是static型函数,因此一般也被放在头文件里。由于头文件还可以嵌套包含别的头文件,为了防止头文件被重复包含,头文件的书写格式是有一定要求的。 例如head.h文件。 #ifndef _HEAD_H_ //如果没有定义此宏 #define _HEAD_H_ //则马上定义此宏 /********************************* ***** 头文件正文 *********************************/ #endif 3、预处理指令三种 头文件包含宏条件编译 #include "head.h" //文件包含 #define PI 3.1415 //宏 //条件编译 //第一种形式 #ifdef MACRO some statements #endif //第二种形式 #ifndef MACRO some statements #endif //第三种形式 #if expression //表达式的值位真,则编译 some statements #endif