声明/实现一个过程使用的参数称为形式参数(简称形参),调用过程时传入的参数称为实际参数(简称实参)。

参数传递分两种:按值(by val)和引用(by ref)。这两种方式的本质区别是:

按值传递时,形参和实参是两个变量,它们开始时的值是相同的,即实参的数据被拷贝一份传递给了形参。

所以此时,形参的改变不会影响到实参。

引用传递时,形参和实参是同一个变量,可以将它们之一看着是另一个的别名。

所以此时,形参改变时,实参跟着改变。

默认情况下,参数是按值传递的,传递的数据拷贝;如果加了var前缀,则成了引用传递。

按值传递指针参数时,实参和形参可以共享指针指向地址中的数据,但是不能共享指针本身的指向。

引用传递指针参数时,因为实参和形参是同一个变量,因此实现完全共享。

 

const声明的参数是按值传递的,而且形参不能被改变。

out声明的参数是引用传递的,主要用于定义输出参数,也就是说不要输入值(即实参不需要初始化),实参传递给形参的值被忽略。

如果用const修饰指针参数,那么只能通过形参修改指针地址里的数据而不能修改指针本身的指向。

posted on 2013-01-15 11:45  许小东  阅读(159)  评论(0编辑  收藏  举报