前言
在初学阶段,我们编程时一般都是在一个文件中进行,在main.c源文件中直接调用main函数完成整个程序的运行,但是在以后写稍微大点的项目时,那么我们就需要分文件编程。
分文件编写(模块化编程)的含义是将一个程序的代码分多个文件存储,也就是将不同的功能模块放在不同的文件中,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法。
三个部分
-
后缀为 .h 的头文件 (函数声明),
-
后缀为 .c 的源文件(函数实现),
-
后缀为 .c 的main函数主源文件(程序运行的入口)。
注意:主函数源文件需要包含头文件 #include " ****.h " ,比如如果你想打印“Hello world”,就需包含头文件#include <stdio.h> ,在该头文件中定义了打印printf函数,你要用这个函数当然得和它打声招呼吧,之后就直接调用即可。
同样的道理,模块化编程也是如此,首先在头文件中声明其他模块中的函数,在外部调用时,只需要#include包含相对应的.h头文件,
优点
- 分工明确,结构化清晰,利于团队开发
在实际项目开发时,往往是一个团队,并且会比较复杂,此时就需要每个人负责不同的模块去实现不同的功能,最后再将各个模块组合。
- 易于修改与维护和功能扩张
若程序报错,能快速锁定在哪个模块,便于修改,并且不会影响其他模块。
当需要添加新功能,直接在模块中实现。
- 可阅读性高
有个明确的分类,阅读时思路很清晰,很容易就看懂你的代码了。
步骤
- 头文件的创建
- 主函数的创建
- 同理,源文件的创建(函数实现)
- 包含头文件
示例
- 头文件
#pragma once
#include <stdio.h>
int add(int x, int y);//声明函数
- 源文件(函数实现)
#define _CRT_SECURE_NO_WARNINGS
#include "Statement.h"
//函数实现
int add(int x, int y)
{
return x + y;
}
- 源文件(主函数)
#define _CRT_SECURE_NO_WARNINGS
#include "Statement.h"
int main()
{
//定义两个整型变量
int a = 0;
int b = 0;
//键盘输入(需包含头文件#include <stdio.h>)
scanf("%d %d", &a, &b);
//将加法函数add返回的值赋给c
int c = add(a, b);
//输出结果
printf("%d", c);
return 0;
}