質問: 0; i < 5; i++)----2 { sum += t[i]; } return sum / 5; } ``` ~わかっていること~ 配列名は配列要素の先頭のアドレスを表わしている。 ~よくわからないこと~ 関数の定義のとこで、アドレスを仮引数として渡しているところが、いまいちよくわからないです。 1配列名を実引数として渡す→すなわち int t[]==(配列の先頭アドレス)? 2これは最終的にsumの値はsum=t[0]+t[1]+t[2]+t[3]+t[4]?
回答: > > 1配列名を実引数として渡す→すなわち int t[]==(配列の先頭アドレス)? > > > はい、C言語では、(`sizeof`の引数にした場合など一部の例外を除いて)式中に出てきた配列は、「配列の先頭アドレス」として解釈されます。`[]`演算子も、`a[b]`の実態は`*(a + b)`という、単なるポインタ演算です(読みにくいだけでメリットはほぼ皆無ですが、`t[0]`を`0[t]`としても動作は変わりません)。 > > これは最終的にsumの値はsum=t[0]+t[1]+t[2]+t[3]+t[4]? > > > はい、そのとおりです。