一.什么是形参
函数定义中出现的参数可以叫做形参, 形参全称为"形式参数" ,可以看作是一个占位符,没有实际的数据,也不是实际存在变量,所以又称虚拟变量。作用是用来接收调用该函数时传入的参数,也就是只有当函数被调用的时候才可以拿到值。
二.什么是实参
实参全称为"实际参数",函数在被调用时包含了确切数据的参数叫做实参。实参会在函数内部中被使用。
三.举例
#include <stdio.h>
int max(int,int);
void main(void)
{
int ret = 0;
int c = 'c';
ret = max(c,1); //实参1,2
printf("ret is %d\n",ret);
}
int max(int a,int b) //形参 a,b
{
int result = 0;
if(a > b){
result = a;
}else{
result = b;
}
return result;
}
四.区别和联系
1.形参和实参的功能都是传递数据,在发生函数调用时,实参的值会传递给形参。
2.形参只能在函数被调用时才会分配内存,函数调用结束以后会立即释放内存。所以形参只在函数内部有效。不能在函数外部使用。
3.实参可以是常量,变量,表达式,函数等,但是无论实参是什么类型,在函数调用时,必须有确定的值,以便把这些值传给形参。
4.实参和形参在数量,类型,顺序上必须完全一致,否则会发生类型不匹配问题。
5.只能把形参的数据传递给实参,不能把实参的数据传递给形参。