7.3 函数总结

01

对被调用函数的声明和函数原型

1、在一个函数中调用另一个函数需要具备以下条件:

(1)首先被调用的函数必须是已经定义的函数。

(2)如果使用库函数,应该在本文件开头用#include指令将调用有关库函数时所需用到的信息“包含”到本文件夹中来。

(3)如果使用用户自己定义的函数,而该函数的位置在调用它的函数的后面,应该在主调函数中对被调用的函数作声明。

2、函数的声明和函数的定义中的第一行基本上是相同的,只差一个分号。

3、写函数声明时,可以简单地照写已定义的函数的首行,再加一个分号,就成了函数的“声明”。函数的首行称为函数原型。

4、函数声明的一般形式:

(1)函数类型 函数名(参数类型1 参数名1,参数类型2 参数名2,...,参数类型n 参数名n);

(2)函数类型 函数名(参数类型,参数类型2,...,参数类型n);

5、函数的定义是指对函数功能的确立,包括指定函数名、函数值类型、形参及其类型以及函数体等,它是一个完整的、独立的函数单位。

6、函数声明的作用则是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查,它不包括函数体。

02

函数的嵌套和递归调用

1、C语言的函数定义是互相平行、独立的,也就是说,在定义函数时,一个函数内不能再定义另一个函数,也就是不能嵌套定义,但可以嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数。

2、在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。

例子:

int f(int x)

{

int y,z;

z=f(y);

return(2*z);

}

在调用函数f的过程中,又要调用f函数,这是直接调用本函数。

本文分享自微信公众号 - C语言入门到精通(gh_780327809188),作者:闫小林

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 7.1 函数

    1、函数是从英文function翻译过来的,其实function在英文中的意思既是函数,也是功能。、

    闫小林
  • 6.8 内部函数和外部函数

    解释:只能被本文件中其他函数所调用,在定义内部函数时,在函数名和函数类型的前面加static,所以内部函数又称静态函数

    闫小林
  • 7.6 内部函数和外部函数

    2、对变量而言,声明与定义的关系稍微复杂一些。在声明部分出现的变量有两种情况:一种是需要建立存储空间的,另一种是不需要建立存储空间的。前者称为定义性声明,简称定...

    闫小林
  • Python之函数编程(2)

    在上面的命令中,我们定义一个return_sum()的函数,这个函数返回一个sum的函数,sum函数的作用是求一个可迭代对象的所有元素的和,当我们直接调...

    AsiaYe
  • 3分钟读懂C语言函数:这些例子一看就懂!|一键删除账户教学

    最近发现,有些小伙伴对C语言的函数有些难以理解,其实呢,C语言的函数很好理解,只不过部分人在学习的时候,没有找到好的例子来类比理解而已。这篇文章会教大家如何去理...

    诸葛青云
  • (1)James Stewart Calculus 5th Edition:Functions and Models

    dodo_lihao
  • 五撩Python

    重复,再重复,你就是专家。 --曾子 1、起手 来说函数。 2、函数 函数就是整理好的一堆可重用的代码,有输入,然后就有输出。 比如我们计算折扣,输入是消费者的...

    企鹅号小编
  • 写 Python 代码不可不知的函数式编程技术

    近来,越来越多人使用函数式编程(functional programming)。因此,很多传统的命令式语言(如 Java 和 Python)开始支持函数式编程技...

    机器之心
  • 写 Python 代码不可不知的函数式编程技术

    近来,越来越多人使用函数式编程(functional programming)。因此,很多传统的命令式语言(如 Java 和 Python)开始支持函数式编程技...

    CDA数据分析师
  • 写 Python 代码不可不知的函数式编程技术

    近来,越来越多人使用函数式编程(functional programming)。因此,很多传统的命令式语言(如 Java 和 Python)开始支持函数式编程技...

    OpenCV学堂

扫码关注云+社区

领取腾讯云代金券