函数的传参方式有值传递和地址传递,地址传递又分为指针传递和引用传递。
函数的返回值也有值传递和地址传递,地址传递又分为指针传递和引用传递。
参数的值传递:进入函数体后,为形参分配地址空间,将实参赋值给形参,对形参操作,退出函数体后,临时变量消失。
参数的地址传递:进入函数体后,直接对实参操作。
返回值的值传递:函数返回时,生成返回值类型的临时变量,将临时变量给调用处使用(赋值或者其它操作)。
返回值的地址传递:函数返回时,如果返回值是指针,函数体返回在函数之外可见的地址,给调用处使用。如果返回值是引用,函数体返回函数之外可见的变量,给调用处调用。函数不能返回局部变量的引用或指针。
函数的返回值也有值传递和地址传递,地址传递又分为指针传递和引用传递。
参数的值传递:进入函数体后,为形参分配地址空间,将实参赋值给形参,对形参操作,退出函数体后,临时变量消失。
参数的地址传递:进入函数体后,直接对实参操作。
返回值的值传递:函数返回时,生成返回值类型的临时变量,将临时变量给调用处使用(赋值或者其它操作)。
返回值的地址传递:函数返回时,如果返回值是指针,函数体返回在函数之外可见的地址,给调用处使用。如果返回值是引用,函数体返回函数之外可见的变量,给调用处调用。函数不能返回局部变量的引用或指针。