delphi的过程或函数中什么是值参数,变量参数,常数参数,文字说明一下再举例说明一下,

问题描述:

delphi的过程或函数中什么是值参数,变量参数,常数参数,文字说明一下再举例说明一下,

以下内容摘自DELPHI5开发人员指南
1. 值参数
将参数以值的形式传递是默认的传递方式一个参数以值的形式传递意味着创建这个变量的本地副
本,过程和函数对副本进行运算,看下面的例子:
procedure Foo(s: string);
当用这种方法调用一个过程时,一个字符串的副本就被创建, F o o ( )将对副本s进行运算,这表示
对这个副本的任何修改都不会影响到原来的变量.
2. 引用参数
P a s c a l允许通过引用把变量传递给函数和过程.通过引用传递的参数有时又被称为变量参数,通
过引用传递意味着接收变量的函数和过程能够改变变量的值.为了通过引用传递变量,在过程或函数
的参数表中用关键字v a r :
procedure ChangeMe(var x: longint);
begin
x := 3;
end;
不同于复制x,关键字v a r使得变量的地址被复制,因此变量值就能被直接改变.
用v a r的参数就像在C + +中用&运算符通过引用传递变量一样.关键字v a r把变量的地址传递给函数
和过程,而不是把变量的值传递过去.
3. 常量参数
如果不想使传递给函数或过程的参数被改变,就用const 关键字来声明它.关键字c o n s t不仅保护
了变量的值不被修改,而且对于传递给函数或过程的字符串和记录来说能产生更优化的代码,下面的
代码就是一个过程声明接收一个字符串常量参数:
procedure Goon(const s: string);