Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 函数标题澄清_C_Arrays_Function - Fatal编程技术网

C 函数标题澄清

C 函数标题澄清,c,arrays,function,C,Arrays,Function,我有一个函数,计算二维数组中两点之间的距离 双倍距离(intp1[],intp2[])是距离公式的标题。我的问题是:我到底向函数发送了什么?我认为我正在向函数发送一个数组,因此函数调用看起来像:distance(array[numRows][numCols],array[centerRow][centerCol]) 我认为这对我来说是错误的,但这就是为什么我要问这个…我不确定我在打什么电话 double distance( int p1[], int p2[] ); 相当于 double

我有一个函数,计算二维数组中两点之间的距离

双倍距离(intp1[],intp2[])
是距离公式的标题。我的问题是:我到底向函数发送了什么?我认为我正在向函数发送一个数组,因此函数调用看起来像:
distance(array[numRows][numCols],array[centerRow][centerCol])

我认为这对我来说是错误的,但这就是为什么我要问这个…我不确定我在打什么电话

double distance( int p1[], int p2[] );  
相当于

double distance( int *p1, int *p2 );  
这意味着您的函数需要指向
int
的指针。您需要将数组(第一个)元素的地址作为参数传递给此函数

相当于

double distance( int *p1, int *p2 );  

这意味着您的函数需要指向
int
的指针。您需要将数组(第一个)元素的地址作为参数传递给此函数。

好的,我有一点感觉,这就是它应该是的。因为我使用int**作为数组,所以我只使用它的一行?如果你想使用2D数组的一行,那么将函数参数更改为
int(*)p1[col],int(*)p2[col]
。我无法更改参数。我只是想找到两点之间的距离,我想发送
array[I][j]和array[centerRow][centerCol]?
否。如果不想更改参数,则需要将指针传递到
int
。您可以传递
array[i]
&array[i][j]
。谢谢。我会拍一张好的,我有一点感觉那就是它应该是的样子。因为我使用int**作为数组,所以我只使用它的一行?如果你想使用2D数组的一行,那么将函数参数更改为
int(*)p1[col],int(*)p2[col]
。我无法更改参数。我只是想找到两点之间的距离,我想发送
array[I][j]和array[centerRow][centerCol]?
否。如果不想更改参数,则需要将指针传递到
int
。您可以传递
array[i]
&array[i][j]
。谢谢。我要试一试