主观题:h0033. 简述"传地址"和"传值"的实现原理。
简述"传地址"和"传值"的实现原理。
答案:"传值"方式,这是最简单的参数传递方法。即将实参计算出它的值,然后把它传给被
调过程。具体来讲是这样的: ---------------2分
1.形式参数当作过程的局部变量处理,即在被调过程的活动记录中开辟了形参的存储空
间,这些存储位置即是我们所说的实参或形式单元。 ---------------1分
2.调用过程计算实参的值,并将它们的右值(r-value)放在为形式单元开辟的空间中。---------------1分
3.被调用过程执行时,就像使用局部变量一样使用这些形式单元。 ---------------1分
"传地址"方式,也称作传地址,或引用调用。调用过程传给被调过程的是指针,指向
实参存储位置的指针。 ---------------2分
1.如实参是一个名字或是具有左值的表达式,则左值本身传递过去。 ---------------1分
2.如实参是一个表达式,比方 a+b 或 2,而没有左值,则表达式先求值,并存入某一位
置,然后该位置的地址传递过去。 ---------------1分
3.被调过程中对形式参数的任何引用和赋值都通过传递到被调过程的指针被处理成间
接访问。 ---------------1分
答案:"传值"方式,这是最简单的参数传递方法。即将实参计算出它的值,然后把它传给被
调过程。具体来讲是这样的: ---------------2分
1.形式参数当作过程的局部变量处理,即在被调过程的活动记录中开辟了形参的存储空
间,这些存储位置即是我们所说的实参或形式单元。 ---------------1分
2.调用过程计算实参的值,并将它们的右值(r-value)放在为形式单元开辟的空间中。---------------1分
3.被调用过程执行时,就像使用局部变量一样使用这些形式单元。 ---------------1分
"传地址"方式,也称作传地址,或引用调用。调用过程传给被调过程的是指针,指向
实参存储位置的指针。 ---------------2分
1.如实参是一个名字或是具有左值的表达式,则左值本身传递过去。 ---------------1分
2.如实参是一个表达式,比方 a+b 或 2,而没有左值,则表达式先求值,并存入某一位
置,然后该位置的地址传递过去。 ---------------1分
3.被调过程中对形式参数的任何引用和赋值都通过传递到被调过程的指针被处理成间
接访问。 ---------------1分