C++での配列の関数への渡し方


  1. 配列を関数に渡す方法: C++では、配列を関数に渡す方法はいくつかあります。以下に2つの主な方法を紹介します。

    a. 配列をポインタとして渡す方法: 関数に配列を渡す一般的な方法は、ポインタを使用することです。つまり、配列の最初の要素へのポインタを関数に渡します。関数内では、ポインタを介して配列の要素にアクセスすることができます。

    void myFunction(int* arr, int size) {
       // 配列の要素にアクセスするためにポインタを使用する
       for (int i = 0; i < size; i++) {
           cout << arr[i] << " ";
       }
    }
    int main() {
       int myArray[5] = {1, 2, 3, 4, 5};
       int arraySize = sizeof(myArray) / sizeof(myArray[0]);
       myFunction(myArray, arraySize);
       return 0;
    }

    b. 配列を参照として渡す方法: C++では、参照を使用しても配列を関数に渡すことができます。参照を使用すると、関数内での操作が元の配列に反映されます。

    void myFunction(int (&arr)[5]) {
       // 配列の要素にアクセスする
       for (int i = 0; i < 5; i++) {
           cout << arr[i] << " ";
       }
    }
    int main() {
       int myArray[5] = {1, 2, 3, 4, 5};
       myFunction(myArray);
       return 0;
    }
  2. 複数の配列を関数に渡す方法: もし複数の配列を関数に渡したい場合は、上記の方法を組み合わせることができます。例えば、ポインタを使用して複数の配列とそれらのサイズを関数に渡すことができます。

    void myFunction(int* arr1, int size1, int* arr2, int size2) {
       // 配列1の要素にアクセスする
       for (int i = 0; i < size1; i++) {
           cout << arr1[i] << " ";
       }
    // 配列2の要素にアクセスする
       for (int i = 0; i < size2; i++) {
           cout << arr2[i] << " ";
       }
    }
    int main() {
       int myArray1[3] = {1, 2, 3};
       int arraySize1 = sizeof(myArray1) / sizeof(myArray1[0]);
       int myArray2[4] = {4, 5, 6, 7};
       int arraySize2 = sizeof(myArray2) / sizeof(myArray2[0]);
       myFunction(myArray1, arraySize1, myArray2, arraySize2);
       return 0;
    }

このようにして、C++で配列を関数に渡す方法を理解しました。ポインタや参照を使用することで、配列の要素にアクセスし、関数内で操作することができます。複数の配列を渡す場合も同様に扱うことができます。