1.定义:把不同功能的函数封装到不同的文件中,一个.c文件和一个.h文件被称为一个模块。
例如:当需要开发一个有两个函数function1和function2的C程序时,传统的做法是在main.c中分别编写main函数,function1函数和function2函数在main函数之前或开始部分声明两个功能函数,并调用。
而如果以模块化的方式开发,则过程如下:
- 创建两个.c文件,function1.c和function2.c
- 分别在创建的这两个.c文件内定义需要的函数
- 创建两个.h文件,注意:文件名要与创建的这两个.c文件一致,即:function1.h和function2.h
- 在这两个.h文件中分别包含各自所需的库文件,声明在.c中定义的函数
- 在main.c文件中包含两个.h文件,在main函数中直接调用两个自定义函数
2.优点:
- 分模块的编程思想
- 功能责任划分清楚
- 方便调试
- 主程序简洁
再举个例子:编写一个计算器,实现加减乘除的功能(这里实现加减乘除的函数就是功能函数)
功能函数:
- jia.c
- jian.c
- cheng.c
- chu.c
主函数:main.c
编译:gcc main.c jian.c jia.c cheng.c chu.c