- 包含一个主程序,也就是main函数的书写。
- 包含一个头文件的声明文件。
- 包含一个头文件具体函数的实现文件。
注意一点:所有的文件放到一个文件夹没用,必须添加到同一个项目中去才行。
否则
会提示无法识别用户自定义头文件中的函数。
main.c主函数
#include <stdio.h>
#include "circle.h" // 包含自定义模块
#include "rectangle.h"
/* 功能:多文件工程程序:自定义头文件
时间:2024年10月
地点:贤者楼129
作者:LChen
*/
int main() {
double r,w,h;
scanf("%lf",&r);
printf("面积为:%lf\n",circle_area(r));
printf("周长为:%lf\n",circle_perimeter(r));
scanf("%lf%lf",&w,&h);
printf("面积为:%lf\n",rectangle_area(w,h));
printf("周长为:%lf\n",rectangle_perimeter(w,h));
return 0;
}
circle.h头文件声明
// 声明文件
#ifndef CIRCLE // 条件编译,防止重复包含头文件
#define CIRCLE
double circle_area(double r); // 函数原型
double circle_perimeter(double r); // 圆的周长
#endif
circle头文件中所包含的函数的具体实现
#include "circle.h"
const double pi=3.14159;
// 定义函数
double circle_area(double r){
return pi*r*r;
}
double circle_perimeter(double r){
return pi*r*2;
}
rectangle.h头文件声明
// 声明文件
#ifndef RECTANGLE // 条件编译,防止重复包含头文件
#define RECTANGLE
double rectangle_area(double w,double h);
double rectangle_perimeter(double w,double h);
#endif
rectangle.h头文件中包含函数的实现
#include "rectangle.h"
// 定义函数
double rectangle_area(double w,double h){
return w*h;
}
double rectangle_perimeter(double w,double h){
return 2*(w+h);
}