Linux库的分文件编程

今天是除夕,贴了一上午的对联,吃完午饭就稍微学习一下,晚上就是Happy之夜了
除夕过后,你将涅槃重生,逆风翻盘,这一句,是必胜局!
是的,抖音看到的。。。


屁话太多,进入正题:

分文件编程好处:

        可以将不同的功能模块交给不同的人做。

  • 网络
  • 线程
  • 电机
  • 超声波
  • ···

好处:

  • 功能责任划分
  • 方便调试
  • 主程序简洁

例:

一个含有自定义函数和主函数的代码

#include <stdio.h>

int add(int x,int y)
{
    
    
	return x+y;
}

int min(int x,int y)
{
    
    
	return x-y;
}

int mul(int x,int y)
{
    
    
	return x*y;	
}

int div(int x,int y)
{
    
    
	return (float)x/y;
}

int main()
{
    
    
	int data1;
	int data2;
	int ret;
	float ret_float;
	printf("请输入数字1:\n");
	scanf("%d",&data1);
	printf("请输入数字2:\n");
	scanf("%d",&data2);
	printf("结果为:\n");
	ret = add(data1,data2);
	printf("%d + %d = %d\n",data1,data2,ret);
	ret = min(data1,data2);
	printf("%d - %d = %d\n",data1,data2,ret);
	ret = mul(data1,data2);
	printf("%d * %d = %d\n",data1,data2,ret);
	ret_float = div(data1,data2);
	printf("%d / %d = %f\n",data1,data2,ret_float);

	return 0;
}

正常运行:
在这里插入图片描述


分文件后:

caclate_T.c

#include <stdio.h>


int main()
{
    
    
	int data1;
	int data2;
	int ret;
	float ret_float;
	printf("请输入数字1:\n");
	scanf("%d",&data1);
	printf("请输入数字2:\n");
	scanf("%d",&data2);
	printf("结果为:\n");
	ret = add(data1,data2);
	printf("%d + %d = %d\n",data1,data2,ret);
	ret = min(data1,data2);
	printf("%d - %d = %d\n",data1,data2,ret);
	ret = mul(data1,data2);
	printf("%d * %d = %d\n",data1,data2,ret);
	ret_float = div(data1,data2);
	printf("%d / %d = %f\n",data1,data2,ret_float);

	return 0;
}

caclate_F.c


int add(int x,int y)
{
    
    
	return x+y;
}

int min(int x,int y)
{
    
    
	return x-y;
}

int mul(int x,int y)
{
    
    
	return x*y;	
}

int div(int x,int y)
{
    
    
	return (float)x/y;
}

caclate_F.h


int add(int x,int y);	//注意有分号

int min(int x,int y);

int mul(int x,int y);

int div(int x,int y);


将caclateF.h写在caclate_T.c中,命名为 caclate_T2.c

扫描二维码关注公众号,回复: 12617636 查看本文章
#include <stdio.h>
#include "caclate_F.h"

int main()
{
    
    
	int data1;
	int data2;
	int ret;
	float ret_float;
	printf("请输入数字1:\n");
	scanf("%d",&data1);
	printf("请输入数字2:\n");
	scanf("%d",&data2);
	printf("结果为:\n");
	ret = add(data1,data2);
	printf("%d + %d = %d\n",data1,data2,ret);
	ret = min(data1,data2);
	printf("%d - %d = %d\n",data1,data2,ret);
	ret = mul(data1,data2);
	printf("%d * %d = %d\n",data1,data2,ret);
	ret_float = div(data1,data2);
	printf("%d / %d = %f\n",data1,data2,ret_float);

	return 0;
}

在命令行中输入:

gcc caclate_F.c caclate_T2.c

同样也成功运行:
在这里插入图片描述


头文件中 < > " " 的区别

< > 是优先从/usr/include/文件夹中搜索导入。
在这里插入图片描述

" " 是优先从当前文件夹中搜索导入。

猜你喜欢

转载自blog.csdn.net/zouchengzhi1021/article/details/113789747