参数和变量之间的差异
更新:2007 年 11 月
多数情况下,过程必须包含有关调用环境的一些信息。执行重复或共享任务的过程对每次调用使用不同的信息。此信息包含调用过程时传递给它的变量、常数和表达式。
若要将此信息传递给过程,过程先要定义一个形参,然后调用代码将一个实参传递给所定义的形参。您可以将形参当作一个停车位,而将实参当作一辆汽车。就像一个停车位可以在不同时间停放不同的汽车一样,调用代码在每次调用过程时可以将不同的实参传递给同一个形参。
形参
形参表示一个值,过程希望您在调用它时传递该值。 过程的声明定义其形参。
当您定义 Function 或 Sub 过程时,需要在紧跟过程名称的括号内指定形参列表。 对于每个形参,您可以指定名称、数据类型和传入机制(ByVal 或 ByRef)。您还可以指示某个形参是可选的。这意味着调用代码不必传递它的值。
每个形参的名称均可作为过程内的局部变量。形参名称的使用方法与其他任何变量的使用方法相同。
实参
实参表示在您调用过程时传递给过程形参的值。调用代码在它调用过程时提供此实参。
调用 Function 或 Sub 过程时,需要在紧跟过程名称的括号内包括实参列表。 每个实参均与此列表中位于相同位置的那个形参相对应。
与形参定义不同,实参没有名称。每个实参就是一个表达式,它包含零或多个变量、常数和文本。求值的表达式的数据类型通常应与为相应形参定义的数据类型相匹配,并且在任何情况下,该表达式值都必须可转换为此形参类型。