通过引用传递也可以称为通过指针传递吗?
我目前正在阅读将参数传递给 C 函数的方法。在阅读的过程中,我了解到在 C 中有两种方法可以将参数作为按值传递和按引用传递。然后我又读到我们也可以将指向变量的指针作为参数传递。
初学者手册网站将此方法称为通过引用。
在这个例子中,我们传递了一个指向函数的指针。当我们将指针作为参数而不是变量传递时,传递的是变量的地址而不是值。因此,函数使用指针所做的任何更改都会在传递变量的地址处永久进行。这种技术在 C 中称为通过引用调用。
我知道当我们需要更改或访问原始变量时,我们可以使用 & 运算符传递指针变量或变量的地址。我想知道这种传指针是否也可以称为传引用。指针传递也是引用传递的方法吗?
回答
从技术上讲,C 中函数的所有参数都是按值传递的。与 C++ 不同,该语言不支持真正的引用。
通过传递(按值)要修改的变量的地址,然后取消引用该地址以修改指向的值,可以在 C中模拟按引用传递。然而,这不是真正的按引用传递。