在我们入门的第一个程序中,第一眼看到的就是头文件和函数。
那么头文件/函数是什么,如何使用?
1.头文件
头文件是什么
头文件,顾名思义,就是以.h为后缀名的文件,其中一般包含写好的代码(大多是函数)。
前期我们一般使用的头文件都是编译器/操作系统之类的提供好的,
是编译器/操作系统的开发者那些人为了给我们写程序提供便利而提供的,
就像我们程序中的函数:printf 就是头文件stdio.h中提供的。
头文件怎么用
使用头文件,我们需要在代码最上面写上 #include<头文件名字>
或者 #include“头文件名字”
两者的区别在于搜索头文件的方式不同,目前我们用现成的就写<>这种。
头文件的原理
我们不妨做一个测试,我们在vscode底部终端一栏中输入这样的命令:
gcc -E 你的.c文件名.c -o 你的.c文件名.i
例如gcc -E a.c -o a.i回车,就会发现多了一个.i文件,我们打开.i文件,翻到最下面
发现与我们代码除了include一行是一样。这可以简单说明#include的作用是将头文件的内容复制粘贴到你的代码里
实际上我们用的文件stdio.h在这里,通过按住ctrl在代码中左键点击头文件名字也可以找到
2.函数
函数是什么
函数其实就是打包好的代码片段,用来以一定的方式处理数据。函数就像一个工厂,输入一定的原材料,工厂在内部加工后就会输出一定的产品。
函数的定义
使用函数得先定义函数,就像使用工厂得先告诉工厂要用什么材料,怎么处理材料,做成什么产品。其实和数学里的y=f(x1,x2,...)也很像
对应的,函数也有,参数(原材料),函数名(工厂名字),函数体(处理材料),返回值(产品)。
#include <stdio.h>
int myadd(int a, int b)
{
return a + b;
}
int main()
{
printf("%d",myadd(1,2));
return 0;
}
如上代码中,我们定义了一个函数名为myadd的函数,这个函数的返回值是int类型(这个工厂输出这种类型的产品),有两个参数都是int类型(原材料的种类都是int,但需要两份,分别叫a,b),函数体部分就是大括号包括的部分,意思是return返回a+b的值(工厂把a加上b然后输出)
函数的调用
有了函数之后,只需要在代码中用:函数名+(参数) 就可以调用函数
例如上面的代码,printf中%d的意思是打印一个int类型,与我们myadd的返回值类型一样,我们写下myadd后面有(),就意味着代码在执行到这里时myadd函数要被调用里。
在这里我们给myadd两个参数,1和2。函数会返回3,所以打印出来应该是3。
3.扩展内容
1.头文件复制粘贴发生在程序编译的预处理阶段,是程序编译的第一个阶段。
2.函数可以参数列表为空,也可以返回值为空,猜猜函数名会不会也能为空呢?
3.我们程序的main函数是程序的入口,就是这样规定的,程序不能没有main函数,如果写错函数名,例如写成mian,编译运行就会报错。main函数也有一些其他写法,后面会讲。