内容自行百度
头文件作用:
头文件的作用 头文件的作用有三: 一者,C\C++采用源文件单独编译为object文件,最后有链接器链接object文件成为可执行文件。头文件解决了彼源文件中变量和函数在此源文件中引用。 二者,头文件中的函数接口和全局变量起占位符的作用和参数类型与表达式匹配的合法行检测的作用,早期的C编译器不具有后者的功能。 三者,便于一二进制的形式发行类库,因此源码实现的细节。 头文件的作用 早期的编程语言如Basic、Fortran没有头文件的概念,C++/C语言的初学者虽然会用使用头文件,但常常不明其理。这里对头文件的作用略作解释: (1)通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需按照头文件中的接 口声明来调用库函数,而不必关心接口是怎么实现的。连接器会从库中提取相应的代码,并和用户的程序连接生成可执行文件或者动态连接库文件; (2)头文件能加强类型安全检查。如果某个接口被实现或被使用时的方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担; (3)头文件可以提高程序的可读性(清晰性)。 头文件中的元素比较多,其顺序(结构)一般应安排如下: (1)头文件注释(包括文件说明、功能描述、版权声明等)(必须有); (2)内部包含卫哨开始(#ifndef XXX/#define XXX)(必须有); (3)#include其他头文件(如果需要); (4)外部变量和全局函数声明(如果需要); (5)常量和宏定义(如果需要); (6)类型前置声明和定义(如果需要); (7)全局函数原型和内联函数的定义(如果需要); (8)内部包含卫哨结束:#endif // XXX(必须有); (9)文件版本及修订说明。 上述排列顺序并非绝对,也不存在对错之分,可根据具体情况灵活安排。 如果程序中需要内联函数,那么内联函数的定义应当放在头文件中,因为内联函数调用语句最终被扩展开来而不是采用真正的函数调用机制。 1,头文件可以定义所用的函数列表,方便查阅你可以调用的函数; 2,头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序就可以做相应的修 改,不用亲自跑到繁琐的代码内去搜索。 3,头文件只是声明,不占内存空间,要知道其执行过程,要看你头文件所申明的函数是在哪个.c文件里定义的,才知道。 4,他并不是C自带的,可以不用。 5,调用了头文件,就等于赋予了调用某些函数的权限,如果你要算一个数的N次方,就要调用Pow()函数,而这个函数是定义在 math.c里面的,要用这个函数,就必需调用math.h这个头文件
混合编程: