C语言---函数---知识总结(四)---函数的参数

简介: C语言---函数---知识总结(四)---函数的参数

函数的参数:

首先我们先了解两个概念


主调函数---调用其他的函数的函数

被调用函数---顾名思义,被调用的函数

main函数只能做主调函数

主调函数和被调函数是成对出现的


什么是函数的参数?就是函数名后面的括号内定义的变量,这个就是参数(如图,在被调函数MAX函数括号里的a跟b,主函数调用的MAX函数括号里的x跟y),不过它们分为两类。

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


1.形式参数:

形式参数就是我们在定义的函数名后面括号中的变量,如上图的a跟b,简称为“形参”。(形参是在被调函数中



2.实际参数:

指的是在函数调用一个函数时,函数名后面括号中的变量,如图x和y,简称为“实参”。(实参在主调函数中


(1)充当实际参数的可以是常量,变量,表达式,函数。


常量MAX(2,3);            变量MAX(x,y);          表达式MAX(2+3,5+6);           函数MAX(2,MAX(2,3));


我们在调用函数的过程中,系统会将实参的值传给被调函数中的形参,这个值在被调函数内部有效,相当于局部变量,出了被调函数自动销毁(由于形参出被调函数自动销毁,这也就说明了只能是实参给形参传值,是单向的)。我们把实参的值传给形参,并让它进行一系列计算,返回一个值即可。(我们发现是实参传给形参的值,所以不难看出实参类型跟实参类型应是一样的)


形参跟实参的变量名可以一样,可以不一样。(人是活的,我们去控制代码,别被代码控制)


对于我们想通过函数来实现值的转换功能,现在先不讲,等学到指针我们再说。

相关文章
|
19天前
|
存储 编译器 C语言
爱上C语言:函数递归,青蛙跳台阶图文详解
爱上C语言:函数递归,青蛙跳台阶图文详解
|
5天前
|
C语言
C语言:内存函数(memcpy memmove memset memcmp使用)
C语言:内存函数(memcpy memmove memset memcmp使用)
|
2天前
|
C语言
pta浙大版《C语言程序设计(第3版)》 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)
pta浙大版《C语言程序设计(第3版)》 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)
|
2天前
|
C语言
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
|
2天前
|
C语言
(浙大版《C语言程序设计(第3版)》 习题6-5 使用函数验证哥德巴赫猜想 (20分)
(浙大版《C语言程序设计(第3版)》 习题6-5 使用函数验证哥德巴赫猜想 (20分)
|
4天前
|
安全 C语言
【C语言】strcpy与strncpy函数的使用和模拟实现
【C语言】strcpy与strncpy函数的使用和模拟实现
5 0
|
4天前
|
C语言
【C语言】字符分类函数与字符转换函数
【C语言】字符分类函数与字符转换函数
9 1
|
4天前
|
程序员 编译器 C语言
C语言之函数与参数
C语言之函数与参数
5 0
|
5天前
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
|
5天前
|
机器学习/深度学习 C语言
函数递归深入解析(C语言)
函数递归深入解析(C语言)