文件名称:过程函数的数据传递-机器视觉算法与应用01
文件大小:1.48MB
文件格式:PDF
更新时间:2024-06-28 04:31:11
PASCAL
三、过程、函数的数据传递 在程序调用子程序时,调用程序将数据传递给被调用的过程或函数,而当子程序运行结束后,结果又可以通过函数 名、变参。当然也可以用全局变量等形式实现数据的传递。这一节我们,就来研究参数传递与局部变量、全局变量等问 题。 (一)数值参数和变量参数 前面已经讲过,pascal 子程序中形式参数有数值形参(简称值参)和变量形参(变参)两种。事实上,还有函数形 参和过程形参两种,只是应用并不太多,我们不作深入地研究。 1、值形参 值参的一般格式如§7.1.1 所示。应该强调的是: ①形参表中只能使用类型标识符,而不能使用类型。 ②值形参和对应的实参必须一一对应,包括个数和类型。 ③实参和值形参之间数据传递是单向的,只能由实参传送给形参,相当赋值运算。 ④一个特殊情况是,当值形参是实型变量名时,对应的实参可以是整型表达式。 ⑤值形参作为子程序的局部量,当控制返回程序后,值形参的存储单元释放。 2、变量形参 变量形参的一般格式如§7.2.1 所示,必须在形参前加关键字 var。 应该注意的是: ①与变量形参对应的实参只能是变量名,而不能是表达式。 ②与变量形参对应的实参可以根据需要决定是否事先有值。 ③变量形参与对应的实参的类型必须完全相同。 ④对变量形参,运行时不另外开辟存储单元,而是与对应的实参使用相同的存储单元。也就是说,调用子程序时, 是将实参的地址传送给对应的变量形参。 ⑤当控制返回到调用程序后,变量形参的存储单元不释放,但变量形参本身无定义,即不得再使用。 ⑥选用形式参时,到底是使用值形参还是变量形参,应慎重考虑。值形参需要另开辟存储空间,而变量形参会带来 一些副作用。一般在函数中使用值形参,而在过程中才使用变量形参,但也有例外。