首页 理论教育单片机实际参数传递方式

单片机实际参数传递方式

【摘要】:在进行函数调用时,必须用主调用函数中的实际参数来替换被调用函数中的形式参数,这就是所谓的参数传递。这种参数传递方式在执行被调用函数时,如果形式参数的值发生变化,可以不必担心主调函数中实际参数的值会受到影响。单片机C语言程序设计2.数组类型的实际参数传递当函数的参数是数组类型的变量时,主调函数将实际参数数组的起始地址传递到被调函数中形式参数的临时存储单元,这种方式称为地址传递。

在进行函数调用时,必须用主调用函数中的实际参数来替换被调用函数中的形式参数,这就是所谓的参数传递。在C语言中,对于不同类型的实际参数,有以下3种不同的参数传递方式。

1.基本类型的实际参数传递

当函数的参数是基本类型变量时,主调函数将实际参数的值传递给被调函数中的形式参数,这种方式称为值传递。函数中的形式参数在未发生函数调用之前是不占用内存单元的,只有在进行函数调用时才为其分配临时存储单元,而函数的实际参数是要占用确定的存储单元的。值传递方式是将实际参数的值传递到被调函数中形式参数分配的临时存储单元中,函数调用结束后,临时存储单元被释放,形式参数的值也就不复存在,但实际参数所占用的存储单元保持原来的值不变。这种参数传递方式在执行被调用函数时,如果形式参数的值发生变化,可以不必担心主调函数中实际参数的值会受到影响。因此,值传递是一种单向传递。

单片机C语 言程序设计

2.数组类型的实际参数传递(www.chuimin.cn)

当函数的参数是数组类型的变量时,主调函数将实际参数数组的起始地址传递到被调函数中形式参数的临时存储单元,这种方式称为地址传递。地址传递方式在执行被调函数时,形式参数通过实际参数传来的地址直接到主调函数中去存取相应的数组元素,故形式参数的变化会改变实际参数的值。因此,地址传递是一种双向传递。

3.指针类型的实际参数传递

当函数的参数是指针类型的变量时,主调函数将实际参数的地址传递给被调函数中形式参数的临时存储单元,因此也属于地址传递。在执行被调函数时,也是直接到主调函数中去访问实际参数变量,在这种情况下,形式参数的变化会改变实际参数的值。

前面介绍的一些函数调用中,所涉及的是基本类型的实际参数传递,这种参数传递方式比较容易理解和应用;最后一个例子所涉及的是指标类型的实际参数传递。关于数组类型和指针类型实际参数的传递较为复杂,请读者多读程序,仔细理解。