首页 >后端开发 >C++ >C 中如何传递指针:按值传递还是按引用传递?

C 中如何传递指针:按值传递还是按引用传递?

Linda Hamilton
Linda Hamilton原创
2024-12-04 21:26:12891浏览

How are Pointers Passed in C  : By Value or By Reference?

C 中的指针传递:按值传递还是按引用传递?

问题:

在 C 中,传递时指针参数,它的行为是按值传递还是按传递引用?

答案:

C 中指针是按值传递的,意味着指向的对象的地址被复制到函数参数中。这意味着两种情况:

  • 函数内指针变量(地址)的更改不会反映在外部指针中。
  • 但是,通过指针取消引用(修改指向的对象)将反映在函数外部。

指向指针的指针传递:

如果目标是更改指针值本身(将其指向不同的对象),则需要一个指向指针的指针。这是通过在将指针传递给函数时在指针名称之前使用双与号 (&&) 来实现的。此方法是 C 中的标准做法。

引用与指针:

在 C 中,由于以下几个原因,引用优于指针:

优点参考文献:

  • 减少函数体中的语法噪音
  • 向编译器提供更多信息,以便进行优化

缺点参考文献:

  • 休息C 的传值规则,需要更多关注参数行为
  • C 中不支持

具体情况:指针与引用

在指针到指针传递的情况下,与使用引用的主要区别在于简单性。通过传递对外部指针的引用,可以消除两层间接,从而提供更直接的方法。

以上是C 中如何传递指针:按值传递还是按引用传递?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn