【发布时间】:2020-12-29 15:00:34
【问题描述】:
我目前正在阅读将参数传递给 C 函数的方法。在阅读时,我了解到在 C 语言中有两种方法可以通过值传递和通过引用传递参数。 然后我又读到我们也可以将指向变量的指针作为参数传递。
The beginnersbook website this method is mentioned as pass by reference.
在这个例子中,我们传递一个指向函数的指针。当我们将指针作为参数而不是变量传递时,则传递变量的地址而不是值。因此,函数使用指针所做的任何更改都会永久地在传递变量的地址处进行。这种技术称为C 中的引用调用。
我知道当我们需要更改或访问原始变量时,我们可以使用 & 运算符传递一个指针变量或变量的地址。我想知道这个指针传递是否也可以称为引用传递。 指针传递也是引用传递的方法吗?
【问题讨论】:
-
C 没有引用,那是 C++ 的东西。
-
...在 C++ 中,引用和指针不是一回事
-
C 没有有两种参数传递方法。所有参数都按值传递。按值传递指针仍然是按值传递。
-
其他一些语言既有按值传递也有按引用传递(例如C++),有的只有按引用传递(例如Fortran)。我想您引用的网站试图为初学者简化,但 IMO 您所描述的表示对他们不利。