实参和形参 实参和形参共用一个存储单元吗
一、形参和实参有什么区别呢
形参和实参在以下几个方面存在区别:
作用范围:形参仅在函数内部起作用,而实参可以在程序的任何地方使用。
可见性:形参在方法内可见,实参则在整个程序中都可见。
存储方式:形参只有在函数调用时才会分配内存,调用结束后就会释放内存。而实参可以进行多次调用,每次调用都会重新分配内存。
值传递方式:实参的值传递给形参是通过赋值操作实现的,形参的值会根据调用者进行更改,但不会影响实参。
类型要求:形参和实参在类型上必须一致,如果类型不一致可以进行强制类型转换。
总之,形参和实参在作用范围、可见性、存储方式、值传递方式和类型要求等方面存在明显的差异。
二、形参和实参类型不一致
3)实参和形参在数量上、类型上、顺序上必须严格一致,否则会发生“类型不匹配”的错误。当然,如果能够进行自动类型转换,或者进行了强制类型转换,那么实参类型也可以不同于形参类型。
三、实参和形参的区别
1.本质不同:形参的本质是一个名字,不占用内存空间。实参的本质是一个变量,已经占用内存空间。
2.作用域不同:形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送,发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。