0

関数呼び出し時

int sum_array(int array[], int arr_length)
{ 
   int sum = 0;  
   while(--arr_length >= 0)
      sum += array[arr_length];
   return sum;
}

メイン関数で

 int main()
{
    int b[10];
    ...
    total = sum_array(b,10);
    ...
}

asbではなく引数を渡すのはなぜですか? :私はポインタについての知識がありません。b[]sum_array(b[],10)

4

3 に答える 3

1
  • sum_array(b[],10) として b[] ではなくパラメータ b を渡す理由

簡単な答え:b[]構文が無効であるためです。

ここ

int b[10];

変数bが宣言されています。int [10]変数の型です。

関数は型ではなく識別子をパラメーターとして受け入れるため、関数に識別子を渡す必要があります。識別子はbです。

  • 注: 私はポインターの知識がありません。

ポインターとは関係ありません。

于 2013-06-27T21:19:06.037 に答える
0

関数は int 配列へのポインターを想定しているため、配列の先頭へのポインターを渡す必要があります。b[10]10 個の要素を持つ配列の 11 番目 (!) のインデックスを指します。

于 2013-06-27T21:01:30.710 に答える