实参可以是
常量、
变量或
表达式, 无论实参是何种类型的量,在进行
函数调用时,它们都必须具有确定的值, 以便把这些值传送给
形参。 因此应预先用赋值,输入等办法使实参获得确定值。
1、函数的
形参列于函数声明中,在函数定义的函数体内使用。在未出现函数调用时,形参不占内存中的存储单元;当
函数调用时,
形参(任何种类的)是一类将被填充的空白或是占位符。
2、将实参的值传递给形参。当函数被调用时,实参列在函数名后面的括号里。执行
函数调用时,
实参被传递给
形参。
在值传递过程中,被调函数的形式参数作为被调函数的
局部变量在
栈中分配内存空间,主调函数的实际参数的值被复制并存入该内存空间,形成实际参数的一个副本。
在地址传递过程中,被调函数的形式参数仍然在被调函数的栈中分配内存空间,但此时是将主调函数实际参数的地址存入该内存空间。被调函数对形式参数的任何操作都被处理成
间接寻址,即通过栈中存放的地址访问主调函数中的实参变量。
在引用传递过程中,被调函数的形式参数是对主调函数中实际参数的引用(
C++引用,别名),形式参数和实际参数对应相同的内存空间。被调函数对形式参数进行操作,就相当于对实际参数进行操作。