我的问题是基座上的以下代码:的C指针表示法相比数组符号:当传递到功能
int myfunct(int ary[], int arysize)
int myfunct2(int *ary, int arysize)
int main(void){
int numary[10];
myfunct(numary, 10)
myfunct2(numary, 10)
return;
}
int myfunct(int ary[], int arysize) {
//Whatever work is done
}
int myfunct2(int *ary, int arysize) {
// Whatever work is done
}
是否有一个原因使用这些中的一个比其他?详细说明一下,当关心数值数组时,是否有任何理由希望在数组表示法上使用指针表示法。如果使用指针表示法,那么在函数指针内将使用等号。如果使用[]数组表示法,可以像往常一样使用数组。我是编程新手,目前看不到使用指针表示法的好处。
我的确切问题是,是否有任何理由使用指针表示法将数值数组传递给函数,因此在函数中使用指针操作。
所以如果我使用* ary反对ary [],我可以在函数内使用ary [0]吗? – SystemFun
@弗拉德,是............, –
@弗拉德我以为你明白我的答案?无论上下文如何,'ary [0]'是'*(ary + 0)'都是'* ary'。如果你可以使用一个,你可以使用另一个(在表达式中,也就是)。 – melpomene