请教一个简单的问题(20分)

  • 主题发起人 主题发起人 xiyuaisl
  • 开始时间 开始时间
X

xiyuaisl

Unregistered / Unconfirmed
GUEST, unregistred user!
请问在定义函数或过程时,后面的参数前加个Var 代表什么意思,比如
Procedure WinMsg (Var Msg : TMsg; Var Handled : Boolean);
为什么有时定义都不用加上~请哪位能帮小弟解答一下
 
var关键字代表传入的参数是可以被函数体改变的,因此也叫可变参数。例如
你写了SomePrc(var Name: String)过程,在调用时给了参数Name为Johnny那么函数返回值可以修改Name为Kitty。这个可变参数其实传递的是参数指针。
该方法在想要用一个函数或过程返回多个结果的时候最有用处。例如:你想要通过一个函数输入一组数据,然后求出该组数据的平均值,最大值,最小值还有和,那么如果用普通的函数的话就无法做到了若是你用var关键字传入事先准备好的ftAvg,ftMax,ftMin以及ftSum则可以只用一个函数搞定!形如:
procedure GetVal(const vals: ValArray; var ftAvg: Double; var ftMax: Double; var ftMin: Double; var ftSum: Double)
 
基础问题,建议楼主多看书.
使用了 VAR 关键字表示以变量的指针作为参数传递进过程里面.
 
接受答案了.
 
后退
顶部