高手帮我理解一下什么是形参实参?(什么是形参,实参?什么时候形参的数可以传到实参中?说个例子)
形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传如的参数. 实参:全称为"实际参数"是在调用时传递个该函数的参数....
大家好,今天我来和大家聊一聊关于实参是什么的问题。在接下来的内容中,我会将我所了解的信息进行归纳整理,并与大家分享,让我们一起来看看吧。
高手帮我理解一下什么是形参实参?
形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传如的参数.
实参:全称为"实际参数"是在调用时传递个该函数的参数.
形参和实参的类型必须要一致,或者要符合隐含转换规则,
当形参和实参不是指针类型时,在该函数运行时,形参和实
参是不同的变量,他们在内存中位于不同的位置,形参将实
参的内容复制一份,在该函数运行结束的时候形参被释放,
而实参内容不会改变.
而如果函数的参数是指针类型变量,在调用该函数的过程
中,传个函数的是实参的地址,在函数体内部使用的也是
实参的地址,即使用的就是实参本身.所以在函数体内部
可以改变实参的值.
给你一个很简单的例子:
int f(int b) /*b为形参*/
{ return b;}
main()
{int a=1;
printf("%d",f(a));/*a为实参*/
}
什么是形参,实参?什么时候形参的数可以传到实参中?说个例子
函数的定义和声明中的为形参,调用中的为实参,即实际参数,是程序在执行时参数。如果是传值调用,实参拷贝给形参,函数推出是形参的值自动销毁; 如果是传址调用,形参指针指向实参指针。形参和实参不一定字母相同。
第一个形参改变的只是它所在空间里的内容,函数调用中发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
如果函数定义是指针,那么函数可以改变指针上储存的内容,但是不能改变指针本身。如果从这点考虑的话,实参是可以通过形参给改变的 。
来点实质性的吧,我把你的 "p+=3;"前加了个“*”号,结果为d,回车是dcbd
实参和形参的区别是什么?求解答
有以下区别:
1、主体不同:实参在调用有参函数时,函数名后面括号中的参数为“实际参数”。形参不是实际存在变量,又称虚拟变量。
2、目的不同:实参可以是常量、变量或表达式,无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值,以便把这些值传送给形参。
需要注意当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。
好了,今天关于“实参是什么”的话题就讲到这里了。希望大家能够通过我的介绍对“实参是什么”有更全面的认识,并且能够在今后的实践中更好地运用所学知识。如果您有任何问题或需要进一步的信息,请随时告诉我。