指针参数传递和引用参数传递有何区别?

更新于
2026-10-10 03:57:50
0阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计405个文字,预计阅读时间需要2分钟。

指针参数传递和引用参数传递有何区别?

指针参数传递本质上是值传递。在值传递过程中,被调函数的形参作为被调函数的局部变量处理,并占用固定的存储单元。在函数调用过程中,会为实参分配相应的存储单元,并将实参的值赋给形参,从而实现了实参与形参之间的数据传递。这样,被调函数对形参的任何操作实际上都是对实参的副本进行操作,不会影响实参的值。

指针参数传递本质上是值传递。值传递的过程中,被调函数的形式参数作为被调函数的局部变量处理,会在栈中开空间用以存放由主调函数传递的实际参数,从而形成了实参值得一个副本。而值传递的特点是被调函对形参的任何修改都不会影响实参值。(如果想通过指针参数来修改主调函数的相关变量或地址,则需要使用指向指针的指针或指针引用)

引用参数传递时,被调函数的形参也会在栈中开辟空间,但这时存放的是由主调函数放进来的实参的地址。被调函数对形参的任何操作都会通过间接寻址的方式对实参进行相应的操作,或者说形参是实参的一个别名。


指针参数传递和引用参数传递有何区别?

本文共计405个文字,预计阅读时间需要2分钟。

指针参数传递和引用参数传递有何区别?

指针参数传递本质上是值传递。在值传递过程中,被调函数的形参作为被调函数的局部变量处理,并占用固定的存储单元。在函数调用过程中,会为实参分配相应的存储单元,并将实参的值赋给形参,从而实现了实参与形参之间的数据传递。这样,被调函数对形参的任何操作实际上都是对实参的副本进行操作,不会影响实参的值。

指针参数传递本质上是值传递。值传递的过程中,被调函数的形式参数作为被调函数的局部变量处理,会在栈中开空间用以存放由主调函数传递的实际参数,从而形成了实参值得一个副本。而值传递的特点是被调函对形参的任何修改都不会影响实参值。(如果想通过指针参数来修改主调函数的相关变量或地址,则需要使用指向指针的指针或指针引用)

引用参数传递时,被调函数的形参也会在栈中开辟空间,但这时存放的是由主调函数放进来的实参的地址。被调函数对形参的任何操作都会通过间接寻址的方式对实参进行相应的操作,或者说形参是实参的一个别名。


指针参数传递和引用参数传递有何区别?