所谓“形式参数”(简称“形参”)是指在函数定义时设定的参数。由上一节有参函数的定义格式可知,形参位于函数名后的括号内,既给定了形参的个数,又对每个形参的数据类型加以设定。
所谓“实际参数”(简称“实参”)是指在进行有参函数调用时所使用的参数。实参位于主调函数中调用函数名后的括号内。
在数据传递的过程中,数据的传递方式有以下两种形式:
1.值传递方式
所谓“值传递方式”是指将实参的数值单向传递给形参的一种方式。
实参可以是已赋值的变量、常量或有确定值的表达式,形参通常是变量。函数调用时,被调函数的形参作为被调函数的局部变量处理,即在内存的堆栈中开辟空间以存放由主调函数放进来的实参的值,从而成为实参值的一个拷贝。(www.xing528.com)
系统分配给实参和形参的内存单元是不同的(即实参、形参在内存中占有不同的存储空间),分配内存单元的时刻也不同(即被调函数只有在被调用时,形参才被分配内存单元。调用结束后,形参所占的内存单元即被释放)。特点:被调函数对形参的任何操作都是作为局部变量进行的,不会影响主调函数的实参变量的值。
2.地址传递方式
所谓“地址传递方式”是指将实参所代表的地址传递给形参的一种方式,即只传递指针的值而不传递指针指向的值。
实参可以是变量的地址、数组名,也可以是后续内容要介绍的相关指针变量。形参通常是数组或指针变量。函数调用过程中,被调函数的形参虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数传递过来的实参变量的内存地址。被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。
特点:被调函数对形参做的任何操作都影响了主调函数中的实参变量。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。