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]
。谢谢。我要试一试