这篇文章我将向大家介绍C语言中的实参与形参,我们在函数使用的过程中,通常把函数的参数分为实参和形参。
#include <stdio.h>
int Add(int x, int y)//在函数的定义中这里的x和y就是形式参数,也就是形参
{
int z = 0;
z = x + y;
return z;
}
int main()
{
int a = 0;
int b = 0;
scanf_s("%d %d", &a, &b);
int r = Add(a, b);//这里进行函数调用真是传递的参数a和b就是实参
printf("%d\n", r);
}
实参
在上面的代码中,2-7行是对Add函数的定义。我们把14行调用Add函数时,传递给函数的参数a和b,称为实际参数,简称实参。实际参数就是真实传递给函数的参数。实参可以是任何表达式,包括常量、变量、表达式、函数等,它们的值将被传递给函数并用于执行函数的操作。实参的个数和类型必须与函数定义中的形参一致,否则编译器将会产生错误。
形参
在上面的代码中,我们在Add函数定义了x和y,这里的x和y就是形式参数,简称形参。为什么叫形式参数?实际上,如果只是定义了Add函数而不去调用的话,Add函数的参数x和y只是实际上存在的,不会向内存申请空间,不会真实存在,所以叫形式参数。形式参数只有在函数被调用的过程中为了存放实参传过来的值,才向内存申请空间,这个过程就叫形参的实例化。
实参与形参的关系
虽然实参是传递给形参的,但是实参和形参有着各自的内部空间,我们可以通过调试上面的代码进行观察:
在调试中我们可以看到实参与形参的值虽然一样,但是地址却是不一样的,所以我们可以理解为形参是实参的一份临时拷贝。正是因为型参与实参的地址不一样,所以我们对形参的修改一般不会影响到实参。
了解函数中实参和形参的概念及其关于值传递的协作是编写高效和可维护的代码的关键。理解这些概念也能使开发者更好地设计和调试程序,提高代码的质量和效率。因此,掌握函数中实参和形参的知识是每个编程爱好者的必修课。感谢大家的阅读。