头文件的基本概念
1)头文件是扩展名为.h的文件,包含了C的函数声明和宏定义,被多个源文件中引用共享,有两种类型的头文件,程序员编写的头文件和C标准库自带的头文件
2)在程序中要使用头文件,需要使用C预处理指令#include来引用它,比如说 stdio.h头文件,它是C标准库自带的头文件
3)#include叫做文件包含命令,用来引用对应的头文件(.h文件)。#include也是C语言预处理命令的一种
如何创建一个头文件:
在你项目工程下找到头文件,右击添加,选中新建项
此时已经新建完了,那么头文件该如何使用呢?
比如说:我们需要在源文件2中调用源文件1里面的函数,这个函数是两个数字的加减乘除
我们需要在头文件里,写入源文件1 中的函数名和要返回的参数
#include<stdio.h>
double mycal(int n1, int n2, char oper) {
//定义一个变量res,保存运算结果;
double res = 0.0;
switch (oper)
{
case'+':
res = n1 + n2;
break;
case'-':
res = n1 - n2;
break;
case'*':
res = n1 * n2;
break;
case'/':
res = n1 / n2;
break;
default:
printf("你的运算符有误");
}
printf("%d %c %d=%.2f\n", n1, oper, n2, res);
return res;
}
此时只要在源文件2调用即可
#include<stdio.h> //系统自带的请用<>,系统自带的也能用双引号下文会说明
#include"myfunc.h" //调用自行写的头文件要用双引号
void main() {
int num3 = 5;
int num4 = 8;
char oper = '-';
double res = 0.0;
res = mycal(num3, num4, oper);
}
到此头文件调用完毕
头文件的注意事项和细节说明
1)引用头文件相当于复制头文件的内容
2)源文件的名字可以不和头文件一样,但是为了好管理,一般头文件名和源文件名一样
3)C语言中 include<> 与include“”的区别
include<>,引用的编译器的类库路径里面的头文件,用于引用系统头文件
include“”,引用的是你程序目录相对路径中的头文件,如果再程序目录没有找到引用的头文件则编译器的类库路径的目录下找该头文件,用于引用用户头文件
所以,引用系统头文件,两种形式都可以, include<>效率高,引用用户头文件,只能使用 include“”
4)一个#include 命令只能包含一个头文件,多个头文件需要多个#include 命令
5)同一个头文件如果被多次引入,多次引入的效果和一次引入的效果相同,因为头文件在代码层里面有防止重复引入的机制
6)在一个被包含的文件(.c)中又可以包含另一个文件头文件(.h)
7)不管是标准头文件,还是自定义头文件,都只能包含变量和函数的声明,不能包含定义,否则在多次引入时会引起重复定义错误