对于函数声明 void fun(float array[], int *ptr); 调用函数时,array按值传送地址,ptr是按地址传送数值
时间: 2024-03-30 14:37:44 浏览: 46
js代码-函数调用的传值和传址
这个说法不太准确。
在函数调用时,如果将数组名作为参数传递给函数,那么实际上传递的是数组的首地址,也就是指向数组第一个元素的指针。所以,实际上传递的是指针,而不是数组本身。因此,在调用函数时,传递 float 数组时,实际上传递的是数组第一个元素的地址。
而对于指针类型的参数,如果按地址传递,那么实际上是将指针变量的地址传递给了函数,也就是传递了指针的指针。如果要按数值传递指针变量的值,应该使用 *ptr 的形式,即将指针变量所指向的地址中的值传递给函数。所以,函数声明 void fun(float array[], int *ptr); 中的 ptr 参数应该是按指针传递,而不是按地址传递数值。
阅读全文