C语言---函数知识点总结---函数的调用,嵌套调用和链式访问

简介: C语言---函数知识点总结---函数的调用,嵌套调用和链式访问

我们知道函数调用其实就是把实参的值传递给形参,形参在函数内部发挥作用,函数并实现我们想实现的功能。

函数调用分为两种

传值调用和传址调用,我们这里只需明白传值调用就行,学到指针后会讲传址调用。


我们调用函数必须满足三个条件

1.调用的函数必须是已经定义过的函数,如库函数,自定义函数。

2.库函数使用时需要写对应的头文件。

3.如果我们定义的函数在主调函数后面,需要在主调函数中声明被调函数。(因为电脑读代码是从上往下读的,我们被调用的函数在下面,电脑先读主调函数,当然不认识被调用函数了)


函数声明的格式,我个人喜欢抄 被调函数的第一行。也就是函数的首部

如:

#include <stdio.h>
int main ()
{
    int MAX(int x,int y);
    int x = 1;
    int y = 2;
    int c = MAX(x,y);
    printf("%d\n",c);
    return 0;
}
int MAX(int x,int y)
{
    return x>y?x:y;
}

这时候我们被调函数就在主调函数后面,需要去在主调函数的内部声明。当然如果我们可以保证每次被调用函数在主调函数上面,就不需要写函数声明。

函数的嵌套调用

函数的嵌套调用就是被调函数里面调用函数。

而函数定义不可以嵌套,我们是不允许在一个函数内定义函数的,每一个函数都是平行独立的。

函数可以嵌套调用,但不可以嵌套定义

如:

#include <stdio.h>
int MAX2(int x,int y)
{
    return x>y?x:y;
}
int MAX4(int n1,int n2,int n3,int n4)
{
    int x = MAX2(n1,n2);
    int y = MAX2(x,n3);
    int z = MAX2(y,n4);
    return z;
}
int main ()
{
    int num1 = 1;
    int num2 = 2;
    int num3 = 3;
    int num4 = 4;
    int a = MAX4(num1,num2,num3,num4);
    printf("%d\n",a);
    return 0;
}


我们来比较四个数的最大数,在MAX4中嵌套了两次MAX2,这就是嵌套使用。

函数的链式访问

函数的链式访问就是把一个函数的返回值作为另外一个函数的参数。

如:

#include <stdio.h>
int MAX(int x,int y)
{
    return x>y?x:y;
}
int main ()
{
    int x = 1;
    int y = 2;
    int z = 3;
    int a = MAX(z,MAX(x,y));
    printf("%d\n",a);
    return 0;
}


我们把x跟y的较大值直接作为下一次比较的参数了,这就是函数的链式访问。

相关文章
|
2月前
|
安全 C语言
C语言中的字符、字符串及内存操作函数详细讲解
通过这些函数的正确使用,可以有效管理字符串和内存操作,它们是C语言编程中不可或缺的工具。
226 15
|
5月前
|
Linux C语言 iOS开发
C语言结合AWTK开发HTTP接口访问界面
这样,我们就实现了在C语言中使用libcurl和AWTK来访问HTTP接口并在界面上显示结果。这只是一个基础的示例,你可以根据需要添加更多的功能和优化。例如,你可以添加错误处理机制、支持更多HTTP方法(如POST、PUT等)、优化用户界面等。
321 82
|
7月前
|
人工智能 Java 程序员
一文彻底搞清楚C语言的函数
本文介绍C语言函数:函数是程序模块化的工具,由函数头和函数体组成,涵盖定义、调用、参数传递及声明等内容。值传递确保实参不受影响,函数声明增强代码可读性。君志所向,一往无前!
157 1
一文彻底搞清楚C语言的函数
|
8月前
|
存储 编译器 C语言
【C语言程序设计——函数】分数数列求和2(头歌实践教学平台习题)【合集】
函数首部:按照 C 语言语法,函数的定义首部表明这是一个自定义函数,函数名为fun,它接收一个整型参数n,用于指定要求阶乘的那个数,并且函数的返回值类型为float(在实际中如果阶乘结果数值较大,用float可能会有精度损失,也可以考虑使用double等更合适的数据类型,这里以float为例)。例如:// 函数体代码将放在这里函数体内部变量定义:在函数体中,首先需要定义一些变量来辅助完成阶乘的计算。比如需要定义一个变量(通常为float或double类型,这里假设用float。
194 3
|
8月前
|
存储 算法 安全
【C语言程序设计——函数】分数数列求和1(头歌实践教学平台习题)【合集】
if 语句是最基础的形式,当条件为真时执行其内部的语句块;switch 语句则适用于针对一个表达式的多个固定值进行判断,根据表达式的值与各个 case 后的常量值匹配情况,执行相应 case 分支下的语句,直到遇到 break 语句跳出 switch 结构,若没有匹配值则执行 default 分支(可选)。例如,在判断一个数是否大于 10 的场景中,条件表达式为 “num> 10”,这里的 “num” 是程序中的变量,通过比较其值与 10 的大小关系来确定条件的真假。常量的值必须是唯一的,且在同一个。
164 2
|
存储 C语言
C 语言函数完全指南:创建、调用、参数传递、返回值解析
函数是一段代码块,只有在被调用时才会运行。 您可以将数据(称为参数)传递给函数。 函数用于执行某些操作,它们对于重用代码很重要:定义一次代码,并多次使用。
333 3
|
11月前
|
C语言
C语言函数返回值详解
本文详细解析了C语言中函数返回值的概念与应用。从函数的基本定义入手,深入探讨了不同类型返回值的作用及意义,并提供了实用的编程示例,帮助读者更好地理解和使用函数返回值。通过本文,你将掌握如何有效利用返回值优化代码结构与功能实现。
|
C语言
C语言---函数---知识点总结(三)------函数的返回值类型
C语言---函数---知识点总结(三)------函数的返回值类型
|
存储 C语言
C语言的函数返回值和指针
C|函数返回值(区分各类值)和指针(区分各类存储空间)的细节
|
存储 C语言
C语言中向函数传递值和从函数返回值的技术解析
C语言中向函数传递值和从函数返回值的技术解析
198 0