C语言的头文件
头文件
- 头文件是扩展名为.h的文件,包含了C函数声明和宏定义,被多个源文件中引用共享。包括:程序员编写的头文件和C标准库自带的头文件
- 程序中要使用头文件,需要使用C预处理指令#include来引用它。stdio.h头文件,是C标准库自带的头文件
- #include叫做文件包含命令,用来引入对应的头文件(.h文件)。#include也是C语言预处理命令的一种
- #include的处理过程很简单,就是将头文件的内容插入到该命令所在的位置,从而把头文件和当前源文件连接成一个源文件
头文件的练习
- myfun.h(头文件)
//声明函数
int myCal(int n1, int n2, char oper);
void sayHello();
- myfun.c(源文件)
#include<stdio.h>
int 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("n%d %c %d = %.2fn", n1, oper, n2, res);
return res;
}
void sayHello() {
printf("你好,世界");
}
#include<stdio.h>
#include "myfun.h"
void main() {
//使用myCal完成计算任务
int n1 = 10;
int n2 = 50;
char oper = '+';
double res = 0.0;
//调用myfun.c中定义的函数myCal
res = myCal(n1, n2, oper);
printf("nres = %.2fn", res);
sayHello();
getchar();
}
头文件的注意事项和细节说明
- 引用头文件相当于复制头文件的内容
- 源文件的名字可以不和头文件一样,但是为了好管理,一般头文件名和源文件名一样
- C语言中include<>和include" "的区别
①include<>:引用的是编译器的类库路径里面的头文件,用于引用系统头文件
②include" ":引用的是程序目录的相对路径中的头文件,如果在程序目录没有找到引用的头文件则到编译器的类库路径的目录下找该头文件,用于引用用户头文件
③引用系统头文件,两种形式都可以。include<>效率高
④引用用户头文件,只能使用include" "
⑤一个#include命令只能包含一个头文件,多个头文件需要多个#include命令
⑥同一个头文件如果被多次引入,多次引入的效果和一次引入的效果一样
⑦在一个被包含的文件(.c)中又可以包含另一个头文件(.h)
⑧不管是标准头文件,还是自定义文件,都只能包含变量和函数的声明,不能包含定义,否则在多次引入时会引起重复定义错误