大多数过程和函数的声明头里都包括参数列表,如:
function Sum(X : Integer; Y : Integer) : Integer;
其参数列表是(X : Integer; Y : Integer),参数又可以分为形参和实参。形参是在过程和函数声明时参数列表中的参数,而实参是函数调用时参数列表中的参数。需要注意的是,在过程和函数声明的时候,如果参数不止一个,则参数要用分号隔开。而在调用的时候,多个参数则用逗号隔开。
在调用的时候,形参列表中的参数和实参列表中的参数不仅在数量上要求一致,而且,在顺序上也要求一致。否则,会出现编译错误或可能出现结果错误。但如果形参列表中的参数和实参列表中的参数数据类型不符时,编译器会自动进行类型转换。过程和函数在声明的时候就可以为其赋初值,方法是在参数定义后面加上"=",然后是常量。
对象PASCAL通过值或引用对函数和过程传递参数,传递的参数可以是基本类型、用户自定义类型或开放数组。
1. 值参数的传递
值参数的传递是将参数以值的形式传递,在上面的例程中就用到了值参数的传递,例如:
procedure Sum(x : Integer; y : Integer);
调用时:
Sum(a,b);
这里将实参a和b的值分别传递给了形参x和y。
2. 过程和函数的引用参数
对象PASCAL可以通过引用将变量传递给过程和函数利用引用传递参数时,其接收变量的过程和函数能够改变变量的值。这时,需要用到保留字var。var的作用是赋值变量的地址,变量的值也就根着改变。下面是一个引用参数的示例》
function ReferencePara(var x : Integer) : Integer;
begin
x :=21;
end;
x在调用过程中其值发生了变化。
3. 过程和函数的常量参数
在实际编程中,有时,我们并不想使传递过程和函数的参数值发生改变,这时可以用保留字const来声明。保留字const可以保证不修改变量的值,这在某些情况下有很好的作用。其声明方法如下:
procedure MyData(const name : string);
function Sum(X : Integer; Y : Integer) : Integer;
其参数列表是(X : Integer; Y : Integer),参数又可以分为形参和实参。形参是在过程和函数声明时参数列表中的参数,而实参是函数调用时参数列表中的参数。需要注意的是,在过程和函数声明的时候,如果参数不止一个,则参数要用分号隔开。而在调用的时候,多个参数则用逗号隔开。
在调用的时候,形参列表中的参数和实参列表中的参数不仅在数量上要求一致,而且,在顺序上也要求一致。否则,会出现编译错误或可能出现结果错误。但如果形参列表中的参数和实参列表中的参数数据类型不符时,编译器会自动进行类型转换。过程和函数在声明的时候就可以为其赋初值,方法是在参数定义后面加上"=",然后是常量。
对象PASCAL通过值或引用对函数和过程传递参数,传递的参数可以是基本类型、用户自定义类型或开放数组。
1. 值参数的传递
值参数的传递是将参数以值的形式传递,在上面的例程中就用到了值参数的传递,例如:
procedure Sum(x : Integer; y : Integer);
调用时:
Sum(a,b);
这里将实参a和b的值分别传递给了形参x和y。
2. 过程和函数的引用参数
对象PASCAL可以通过引用将变量传递给过程和函数利用引用传递参数时,其接收变量的过程和函数能够改变变量的值。这时,需要用到保留字var。var的作用是赋值变量的地址,变量的值也就根着改变。下面是一个引用参数的示例》
function ReferencePara(var x : Integer) : Integer;
begin
x :=21;
end;
x在调用过程中其值发生了变化。
3. 过程和函数的常量参数
在实际编程中,有时,我们并不想使传递过程和函数的参数值发生改变,这时可以用保留字const来声明。保留字const可以保证不修改变量的值,这在某些情况下有很好的作用。其声明方法如下:
procedure MyData(const name : string);