按值传递参数:
如果在声明过程时,形式叁数名前加上关键字“BYVal”表示在调用该过程时,该参数是按值传递的,按值传递叁数方式下,在过程被调用时,传递给形参的是调用过程中的相应实参的值,形参与实参各占有不同位置的存储空间,被调用过程在执行过程中,改变了形参变量的值,但不会影响调用过程中实参值,当被调用过程执行结束返回到调用过程,实参还是调用之前的值,实参与通用过程体内的运算无关,因此为了保护实参不受被调用过程的影响,应选用按值传递参数方式。
按地址传递参数:
如果在声明过程时,形式叁数名前加上关键字“BYRef”表示在调用该过程时,该参数是按地址传递的,如果一个形参前即无ByVal和BYRef则该形参按地址传递
所谓按地址传递参数,就是当调用一个过程时,是把实参变量的内存地址传递给被调过程形参,也就是说形参与实参使用相同地址内存单元,因此当在被调用过程中改变形参的值时,就等于改变了实参的值。
我们要理解什么是形参:虚的东西。实参:实际的参数
范围:只有当实参是变量或数组是才能按地址传递
如果实参是常量或表达式,实际进行的是按值传递。