我的問題是基座上的以下代碼:的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