对于函数声明 void fun(float array[], int *ptr);调用函数时,调用处的实参数组的所有值都会自动复制到array数组中
时间: 2024-03-30 22:37:41 浏览: 147
C# 调用C++DLL(函数参数包含指针)
这个说法也不太准确。
在函数调用时,实参数组名会被转换成指向数组第一个元素的指针,并且该指针的值会被传递给函数。因此,函数内部的 array 参数实际上是一个指向实参数组第一个元素的指针。函数内部对 array 数组的修改会影响到实参数组。
但是,实参数组中的所有元素并不会自动复制到 array 数组中。如果在函数内部需要访问实参数组中的其他元素,需要使用指针运算或者数组下标运算来访问。而且,对于大型数组,将整个数组复制到函数内部的数组可能会导致性能问题。因此,在函数声明中使用指针或引用类型的参数,可以避免不必要的数组复制。
阅读全文