———–Java培训、Android培训、IOS培训、.Net培训、期待与您交流!————
本节是个人学习过程中的笔记,供初学者一起学习,大神勿喷。
看着黑马视频后自己敲代码,发现很多细节自己动手才知道利害,所以建议初学者多多动手实践吧,不然自己写的时候发现明明很简单的代码竟然也有点犹豫。
先贴代码吧,文字太多没人看,入门级代码如下:
多文件.c
#include <stdio.h>
//int average();
//int maxNumber();
//如果不使用头文件,可以如上面那般声明函数,然后一起编译.c文件也可以
#include "多文件-辅助.h"
//系统文件用<>,自定义的用""
int main()
{
int num1 = 2;
int num2 = 8;
int averageResult = average(num1,num2);
int maxNumberResult = maxNumber(num1,num2);
printf("The average is %d\n",averageResult);
printf("The maxNumber is %d\n",maxNumberResult);
//程序很简单,就是用其他文件里面的函数来计算,main函数中输出结果
return 0;
}
多文件-辅助.c
int average(int num1,int num2)
{
return (num1+num2)/2;
}
int maxNumber(int num1,int num2)
{
return num1>=num2?num1:num2;
//这里只是需要一个值,这样写还是很方便的,没必要考虑相等的情况
}
多文件-辅助.h
//int average();
//int maxNumber();
//两种格式的的声明都可以。
int average(int num1,int num2);
int maxNumber(int num1,int num2);
终端运行结果
MacdeMacBook-Pro:abc mac$ cc 多文件.c 多文件-辅助.c -o 测试头文件
MacdeMacBook-Pro:abc mac$ ./测试头文件
The average is 5
The maxNumber is 8
MacdeMacBook-Pro:abc mac$
这个头文件,其实包含多个文件之间的关联,一起编译链接的过程,李明杰老师的讲得很详细,借花献佛如下(欢迎大家去看黑马视频,很不错哦):
单文件的坏处
一个文件的内容太多,不利于阅读、调试
多人修改同一个文件出问题
公司里面是团队合作将sum函数抽取到另一个.c文件中
先直接调用sum函数,编译警告、链接main.c错误
#include “sum.c” , 编译链接main.c,运行成功
如果avr.c中使用sum.c,编译链接main.c,运行程序在其他文件中声明sum函数
int sum(int,int);
编译链接main.c
编译链接sum.c
编译链接main.c sum.c,运行成功
avr.c利用一样的方法将int sum(int,int)抽取到另外一个文件中
不抽取声明的坏处:增加新的函数了
抽取到.c文件中?开发工具会将所有的.c进行编译链接
抽取到.h文件中抽取步骤总结
.c文件写函数的定义
.h文件写函数的声明
要想用我的函数,请包含我的.h文件
好处分析