5

重複の可能性:
C の構造体の sizeof 配列?
関数の引数として渡される配列のサイズ

sum()基本的な関数を書こうとしているだけです。

int sum(int arr[]) {
    int total = 0 , i = 0 , l = sizeof arr;

    for(i=0;i<l;i++) {
        total += arr[i];
    }

    return total;
}

l常に 4 に等しい (最終的には で割ることがわかっていますsizeof int)

Windows 7 で既定のコンパイラ オプションを使用して Dev-C++ を実行します。

4

1 に答える 1

11

関数の引数として、配列は要素型へのポインターに減衰しsizeof arrますsizeof(elem*)

追加の引数として要素の数を渡す必要があります。配列の最初の要素へのポインターからそれを決定する方法はありません (その状況で実際に渡されるものです)。

于 2012-04-22T15:10:39.777 に答える