Menu
CoddyTech

関数の引数としての配列

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}
challenge icon

チャレンジ

簡単

sumArrayという名前の関数を作成し、次の2つの引数を受け取るようにします。

  • 整数の配列(arr)。
  • 配列のサイズを表す整数(size)。

この関数は、配列内のすべての要素の合計を計算して返します。

次に、main関数で次の処理を行います。

  1. 整数n(配列のサイズ)を読み取ります。
  2. n個の整数を読み取り、配列に格納します。
  3. 配列を指定してsumArray関数を呼び出します。
  4. 合計を「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;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Cオンラインコンパイラ