因为全部全局变量、全局常量、全局函数都是可以直接被别的编译单元访问的。除非你明确指定static。如果明确指定了 那么不包含头文件 就会报错。
自定义头文件通常放在使用该头文件的源文件所在的目录中,并使用
#include "MyHead.h"
来包含。
头文件是不编译的,因为C语言编译过程之前有个预编译过程。在这个过程中用头文件中的内容替换源文件中“#include”命令,所以在编译器看来,没有头文件,只有源文件。预编译过程还包括条件编译。
头文件为了防止被重复包含,通常的格式是:
/* MyHead.h */
#ifndef _MYHEAD_H_
#define _MYHEAD_H_
(这里是头文件的内容)
#endif /* _MYHEAD_H_ */