C语言第五节 函数

1、函数含义(什么是函数):

      • 函数是具有特定功能的代码段。

      • 通俗来说:一连串语句组合在一起,实现了某一功能,我们为它们起了一个名字。之后就可以使⽤用这个名字来替代这些语句。

      • 函数的使用可以省去重复代码的编写,⼤大简化程序,提高开发效率。

 

2、函数分类:

   1> 从函数定义上来看,函数可分为

      • 库函数(系统提供好的函数,例如printf)

      • 自定义函数(开发者⾃自⼰己写的函数);

   2> 从返回值、参数有无来分,可分为四类:

  • 无参无返回值;

  • 无参有返回值;

  • 有参无返回值;

  • 有参有返回值;

 

3、函数定义

函数定义的格式:

    返回值类型 函数名(参数列表){

        函数体;

    }

     • 返回值类型:函数的结果值类型,函数不能返回数组。 指定返回类型是void类型说明函数没有返回值。

     • 函数名:函数名命名规范和变量名命名规范一样。

     • 参数列表:每个形式参数的前面说明其类型,即使几个参数具有相同的数据类型,也必须对每个形式参数分别进行类型说明。形式参数⽤用逗号进行分隔,就算没有参数函 数后⾯面的()也不能省略,可以写成(void)。

     • 函数体:函数功能的实现。

 

4、函数的返回值(return)

  • 函数的返回值称为函数的值,只能通过return语句返回给主调函数。

  • 一个函数只能有一个返回值。

  • 函数即使没有返回值也可以使用return来结束函数的执行,回到主调函数。

  • return后面的语句不再执行。

 

5、函数声明

  指的就是函数的描述,也叫函数原型。 

  • 两种情况:1、函数定义出现在主调函数之前,可以省略函数声明。

            2、函数定义出现在主调函数之后,需要提前声明函数。

            //main函数从上往下执行,不事先声明main函数找不到。

  • 函数声明尽管可以省略,从规范来讲,不要省略。

 

6、函数调⽤

  既由函数名和跟随其后的实际参数列表组成,其中实际参数列表⽤()括起来。

  • 函数调用后边始终跟着分号, 即使没有参数也要加上()。

  • 函数的调⽤用, 会产⽣生程序的跳转。

    

 

7、形参和实参 

  • 形参(形式参数)

    出现在函数定义中,以假名字来表示函数调用时需要提供的值。

   //作⽤用范围为整个函数范围。

  • 实参(实际参数)

    出现在函数调用中的表达式。

  注意:函数调用时,形参会拷贝实参的值参与运算,改变形参的内容并不会影响实参的内容,因为这是两块不同的内存空间。

 

8、函数的嵌套调用和递归调用

  1> C语⾔言不允许函数嵌套定义,但是允许函数嵌套调⽤用; 

  • 函数嵌套定义 : 在⼀一个函数定义内再去定义⼀一个函数;

  • 函数嵌套调⽤用 : 在⼀一个函数内去调⽤用另⼀一个函数。

  2> 函数在执行过程中调用函数本身即为函数的递归调用; 

  • 一定要有结束出口,否则无法结束。

 

原文地址:https://www.cnblogs.com/hyl2012/p/5212788.html