• 五、函数的介绍


    1、为什么需要函数

    (1)当程序足够简单时,一个main函数就可以实现所有功能。随着程序功能的增加、复杂化,超出人的大脑的承受范围,这时一个main函数可能就逻辑不清了。这是就需要把一个大程序分成许多小的模块来组织,于是乎出现了概念叫做函数。

    (2)函数就是一组一起执行一个任务或功能的语句。举例:就相当于一篇文章要分段一样,一个程序可以分成不同的函数,每个函数执行一个特定的功能。

    (3)每个C程序都至少有一个函数,即主函数 main() 。主函数是一种特别的函数,特别之处在于,一个C语言程序必须有一个main函数。C语言规定,一个C语言程序从主函数开始执行,到主函数执行完结束。

    (4)C 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。

    2、函数的定义

    (1)C 语言中的函数定义的一般形式如下:

    1. return_type function_name( parameter list )
    2. {
    3. body of the function // 函数体
    4. }

    (2)在 C 语言中,函数由一个函数头和一个函数主体组成。函数的所有组成部分:

    • 返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void
    • 函数名称:函数的实际名称。
    • 参数:当函数被调用时,所需要的原始数据就是参数。参数包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数,也可能包含多个参数。
    • 函数体:函数体包含一组定义函数执行功能的语句。

    (3)函数定义决定了的函数的功能,提供了函数的实际主体。

    3、函数的声明

    (1)函数声明实际上是叫函数原型声明。什么叫原型?函数的原型包含三部分:函数名,返回值类型,函数参数列表。通俗讲,函数原型就是这个函数叫什么,接收什么类型的几个参数,返回一个什么样的返回值。

    (2)函数声明的目的是告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。

    4、函数的调用

    (1)创建 C 函数时,会定义函数做什么,然后通过调用函数来完成已定义的任务。

    (2)函数调用就是使用函数名来调用函数完成功能。调用时必须参照原型给函数传参,然后从函数得到适当的返回值作为结果。

    5、库函数

    (1)库函数就是别人写好的,可以直接调用的函数。例如C语言的标准库。

    (2)在C语言中写代码时可以引用库函数,但是必须使用#include引用这个库函数所在的头文件。

    6、函数参数

    6.1、形参和实参

    (1)形参

    • 全称为形式参数。在函数定义和函数声明中的参数,都是形参。
    • 形参不是实际存在的变量

    (2)实参

    • 全称为实际参数,函数调用中,实际传递给函数的变量就是实参。
    • 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。

    (3)函数调用的过程,其实就是实参传递给形参的一个过程。这个传递实际是一次拷贝。实参本身并没有进入到函数内,而是把自己的值复制了一份传给了函数中的形参,在函数中参与运算。

    6.2、传值调用&引用调用

    调用类型描述
    传值调用该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。
    引用调用通过指针传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。

  • 相关阅读:
    罗丹明PEG羟基,RB-PEG-OH,Rhodamine-PEG-OH
    【安装笔记-20240529-Windows-Wireshark 网络协议分析工具】
    全连接神经网络的缺点,神经网络有什么用
    行为型-中介者模式
    最大公约数
    (附源码)php在线考试系统 毕业设计 032028
    Linux(Nginx)
    Spring 源码学习笔记10——Spring AOP
    【洛谷 P3654】First Step (ファーストステップ) 题解(模拟+循环枚举)
    23种设计模式——工厂模式
  • 原文地址:https://blog.csdn.net/weixin_42727214/article/details/134388780