每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。 .c就是你写的程序文件。
1.#ifndef
条件指示符#ifndef 的最主要目的是防止头文件的重复包含和编译。在c语言中,对同一个变量或者函数进行多次声明是不会报错的。所以如果h文件里只是进行了声明工作,即使不使用# ifndef宏定义,一个c文件多次包含同一个h文件也不会报错。 使用#ifndef可以避免下面这种错误:如果在h文件中定义了全局变量,一个c文件包含同一个h文件多次,如果不加#ifndef宏定义,会出现变量重复定义的错误;如果加了#ifndef,则不会出现这种错。
2.头文件的大致格式:
#ifndef __ABC_H__
#define __ABC_H__
//以上是为了防止头文件被多次包含,可以省略,最好有,名字任意,保证唯一即可
//以下是宏定义,可有可无
#define MAX 100
#define MIN 0
//以下是结构声明,可有可无
typedef struct{
int a;
}ABC;
//以下是函数声明,可有可无
void abcfun(int a,int b);
...
#endif
3.c语言头文件的作用
1,头文件可以定义所用的函数列表,方便查阅你可以调用的函数;
2,头文件可以定义很多宏定义。
3,头文件只是声明,不占内存空间,要知道其执行过程,要看你头文件所申明的函数是在哪个.c文件里定义的,才知道。