C语言函数
- 函数的种类
- 函数的声明和实现
- 函数的参数
一、函数的种类
C语言是面向过程的语言,这就注定了C语言中有各种各样的函数
1、main函数,上节当中已经提到:是整个程序的入口
2、函数库中定义的函数,我们可以直接拿来使用的。例如stdio.h中的输出函数printf()和输入函数scanf()
3、我们自己定义的函数(较多)
二、函数的声明和实现
1、在标准C语言中,函数的定义顺序是有讲究的,默认情况下,只有后面定义的函数才可以调用前面定义过的函数
int sum(int, int) ; int main() { int c = sum(1, 4); return 0; } int sum(int a, int b) { return a + b; }
这样写,也是OK的。
2、在大型的C程序中,为了分模块进行开发,一般会将函数的声明和定义(即实现)分别放在2个文件中,函数声明放在.h头文件中,函数定义放在.c源文件中
在.h文件中声明函数
在.c文件当中实现函数
在main函数中需要#include "sum.h"来预处理一下,我们说过,相当于复制了文件的内容
运行步骤分析:
1> 在编译之前,预编译器会将sum.h文件中的内容拷贝到main.c中
2> 接着编译main.c和sum.c两个源文件,生成目标文件main.obj和sum.obj,这2个文件是不能被单独执行的,原因很简单:
* sum.obj中不存在main函数,肯定不可以被执行
* main.obj中虽然有main函数,但是它在main函数中调用了一个sum函数,而sum函数的定义却存在于sum.obj中,因此main.obj依赖于sum.obj
3> 把main.obj、sum.obj链接在一起,生成可执行文件
4> 运行程序
3、这里涉及到C语言程序整个的编译过程
我们的顺序是:编写-编译-链接-运行。在任何地方有问题,程序都是不能正常运行的
三、函数的参数
函数的参数分为:实参和形参
其实很好理解
形参就是函数在定义的时候,定义的一种类型的参数,并不是真正有值传递了进来
实参就是实际当中传进来的值,也就是我们在调用函数的时候,真正传进来的那个值
如果我们将sum函数放到了main函数的后面,就会报错。因为需要先声明,才可以使用。当然我们可以先声明但是到后边再实现
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。