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函数的后面,就会报错。因为需要先声明,才可以使用。当然我们可以先声明但是到后边再实现

C语言函数,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。