简单来讲, 在大型的软件编程中,不可能所有的文件都由一个人来写,所以,我们势必要采用分文件的形式,
而,所谓的头文件,只不过是对函数的声明,用于暴露接口给外部使用, .h 文件 和 .c 文件就是把函数的声明与实现分开,在 .c 文件中导入 .h 文件 用 #include “xxx.h”
下面是具体的操作流程,以最简单的计算器为例:
首先写主函数: main.c
#include <stdio.h> // < > 运算符表示,优先在 /usr/include/ 路径下寻找头文件 stdio.h
#include "mine.h" // " " 运算符表示,有先在 当前路径下 寻找 头文件
// 此处画重点,直接调用之后写好的自定义头文件 mine.h
int main(){
int a[2];
for(int i=0;i<2;i++){
printf("请输入第 %d 个数\n",i+1);
scanf("%d",&a[i]);
}
add(a); // 减
sub(a); // 加
mul(a); // 乘
div(a); // 除
return 0;
}
而后是实现功能的函数 function.c
#include <stdio.h>
void add(int * a){
printf("这是加法 \n");
int b = *a + *(a+1);
printf("a = %d 加法结束 \n",b);
}
void sub(int * a){
printf("这是减法\n");
int b = (*a) - *(a+1);
printf("b = %d 减法结束 \n",b);
}
void mul(int * a){
printf("这是乘法 \n");
int b = (*a) * (*(a+1));
printf("b = %d 乘法结束 \n",b);
}
void div(int * a){
printf("这是除法 \n");
int b = *a / *(a+1);
printf("b = %d 除法结束 \n",b);
}
最后,我们来写头文件 “mine.h”
void add(int * a);
void sub(int * a);
void mul(int * a);
void div(int * a);
编译 :
gcc main.c function.c
运行 :
./a.out
结果为: