我知道数组在函数调用中是通过引用传递的,但是如果你只传递一个数组元素呢? 函数(ar[0])
。 arg[0]
是按值传递还是按引用传递?
最佳答案
数组不是通过引用传递的,当用作函数参数或表达式时,它们衰减为指针,但作为sizeof
运算符的操作数除外。因此,函数接收指向数组第一个元素的指针,无论参数在函数原型(prototype)中是如何定义的,是指针还是数组。
如果你传递一个数组元素,它是按值传递的,除非这个数组元素本身是一个数组,在这种情况下传递一个指向第一个元素的指针。
关于c - 数组元素也是按值传递还是按引用传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36120764/