【C言語】関数に配列を渡して値を書き換える方法を解説

この記事では、C言語で関数に配列を渡して値を書き換える方法を解説します。

目次から探す

配列を渡す方法

C言語では、関数に配列を渡す方法がいくつかあります。

配列はポインタとして扱われるため、関数に渡す際にはポインタを使用します。

1. 配列名を引数として渡す方法

配列名を関数の引数として渡すことで、配列の先頭要素へのポインタが関数に渡されます。

関数内でこのポインタを使用することで、配列の要素にアクセスすることができます。

void modifyArray(int arr[], int size) {
    // 配列の要素を書き換える処理
}
int main() {
    int array[5] = {1, 2, 3, 4, 5};
    modifyArray(array, 5);
    // 配列の要素が書き換えられていることを確認する処理
    return 0;
}

2. ポインタを引数として渡す方法

配列の先頭要素へのポインタを明示的に関数の引数として渡す方法もあります。

この場合、ポインタを受け取るための引数の型は、配列の要素の型と一致させる必要があります。

void modifyArray(int* arr, int size) {
    // 配列の要素を書き換える処理
}
int main() {
    int array[5] = {1, 2, 3, 4, 5};
    modifyArray(array, 5);
    // 配列の要素が書き換えられていることを確認する処理
    return 0;
}

配列を関数に渡す際、配列の要素数も引数として渡すことが一般的です。

これは、関数内で配列の要素数を取得するために使用されます。

配列の値を書き換える方法

関数に配列を渡して値を書き換える場合、ポインタを使用して配列の要素にアクセスし、値を書き換えることができます。

void modifyArray(int* arr, int size) {
    for (int i = 0; i < size; i++) {
        arr[i] = arr[i] * 2; // 配列の要素を2倍に書き換える
    }
}
int main() {
    int array[5] = {1, 2, 3, 4, 5};
    modifyArray(array, 5);
    // 配列の要素が書き換えられていることを確認する処理
    return 0;
}

上記の例では、modifyArray関数内で配列の要素を2倍に書き換えています。

関数を呼び出した後、配列の要素が書き換えられていることを確認するために、適切な処理を追加してください。

以上が、C言語で関数に配列を渡して値を書き換える方法です。

目次から探す