有以下区别:
文圣网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
1、主体不同:实参在调用有参函数时,函数名后面括号中的参数为“实际参数”。形参不是实际存在变量,又称虚拟变量。
2、目的不同:实参可以是常量、变量或表达式,无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值,以便把这些值传送给形参。
需要注意当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。
形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传如的参数.
实参:全称为"实际参数"是在调用时传递个该函数的参数.
形参和实参的类型必须要一致,或者要符合隐含转换规则,
当形参和实参不是指针类型时,在该函数运行时,形参和实
参是不同的变量,他们在内存中位于不同的位置,形参将实
参的内容复制一份,在该函数运行结束的时候形参被释放,
而实参内容不会改变.
而如果函数的参数是指针类型变量,在调用该函数的过程
中,传个函数的是实参的地址,在函数体内部使用的也是
实参的地址,即使用的就是实参本身.所以在函数体内部
可以改变实参的值.
给你一个很简单的例子:
int f(int b) /*b为形参*/
{ return b;}
main()
{int a=1;
printf("%d",f(a));/*a为实参*/
}
例如:你自己定义一个函数
int
max(int
a,int
b){...
}
在这里a,b就是形参,接下来你会调用max函数,如:
void
main()
{
int
c,int
d;
.....
max(c,d);
}
这里c
d就是实参
所谓形参就是在函数定义体中的参数
所谓实参就是在调用函数时实际传进函数的参数
形参就是形式参数,用一个变量代表大家。实参就是实际参数,用一个 确切的数值代替形式参数,可以是表达式。实际参数与形式参数的参数个数、类型和顺序都应一样,如果不一样的话,系统会强制转换,这样会造成数据的丢失。实 参向形参的传递是值的传递。
这个值就是对实参的表达式进行计算的结果,它可以是常量值、变量值、数组元素、函数值等。如果实参是数组名了,那么它传送的就是地址的值了。比如:
double power(double x ,int n)定义一个双精度参数
power(3.0,5) 调用
x n 是形参,3.0,5是实参。如果上面定义的是整形 double power(int x ,int n),下面调用的是power(3.3,5)那么实参中3.3会被转换成3,一部分数据丢失了。