関数の引数としての配列
CoddyのCジャーニー「基礎」セクションの一部。レッスン 58/63。
Cでは、配列を関数の引数として渡すことができます。配列を関数に渡すとき、実際に渡されるのは最初の要素のメモリアドレスです。
配列と、それを引数として受け取る関数を宣言しましょう。
void displayArray(int arr[], int size) {
for(int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}配列を作成して、関数を呼び出しましょう:
int numbers[5] = {10, 20, 30, 40, 50};
displayArray(numbers, 5);配列を関数に渡すと、関数内で配列に加えた変更は元の配列に反映されます。
void doubleValues(int arr[], int size) {
for(int i = 0; i < size; i++) {
arr[i] = arr[i] * 2;
}
}
// 関数を呼び出す
doubleValues(numbers, 5);
// 現在、numbers の内容: {20, 40, 60, 80, 100}チャレンジ
簡単sumArrayという名前の関数を作成し、次の2つの引数を受け取るようにします。
- 整数の配列(arr)。
- 配列のサイズを表す整数(size)。
この関数は、配列内のすべての要素の合計を計算して返します。
次に、main関数で次の処理を行います。
- 整数n(配列のサイズ)を読み取ります。
- n個の整数を読み取り、配列に格納します。
- 配列を指定してsumArray関数を呼び出します。
- 合計を「Sum: X」の形式で出力します(Xは合計です)。
自分で試してみよう
#include <stdio.h>
// ここにsumArray関数を書いてください
int main() {
int n;
scanf("%d", &n);
int arr[n];
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// sumArray関数を呼び出し、結果を出力してください
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Cオンラインコンパイラ