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

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

Linda Hamilton
Linda Hamilton原创
2024-12-30 21:20:11461浏览

Pointers in C   Functions: Pass by Value or Reference?

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

在 C 中,传递指针是一个常见的误解参数相当于按值传递。然而,事实并非如此。

指针通过值传递

当指针传递给函数时,指针,即它指向的内存地址,被复制到函数的本地内存中。这意味着对函数内的指针进行的任何更改都不会影响原始指针变量。

更改指向的值

但是,对指针指向 的值所做的更改将 反映在原始变量中。这是因为指针本身存储的是原始对象的地址,而不是对象本身。

修改指针值

如果你想修改里面的指针值一个函数,你需要使用一个指向指针的指针。当您将指针传递给指针时,原始指针的地址将被复制到函数中。这允许您从函数内修改原始指针。

标准实践

在 C 中,使用指向指针的指针是可以接受的,并且被认为是标准实践当您需要修改函数内的指针值时的参数。这是 C 和 C 中的常见技术,因为直到 C 的更高版本才引入引用。

引用与指针

在现代 C 中,首选引用超过指针有几个原因:

  • 较少的语法噪音
  • 有关编译器的更多信息
  • 在指针到指针的特定情况下,引用可以简化代码。

但是,C 中不支持引用,并且它们违反了按值传递规则。

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

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