配列をC++関数に渡す
C ++では、配列全体を引数として関数に渡すことはできません。ただし、インデックスなしで配列の名前を指定することにより、配列へのポインタを渡すことができます。
1次元配列を関数の引数として渡したい場合は、次の3つの方法のいずれかで関数の仮パラメーターを宣言する必要があります。3つの宣言メソッドはすべて、整数ポインターが実行されることをコンパイラーに通知するため、同様の結果を生成します。受け取る必要があります。
-
ポインタとしての正式なパラメータ
void myFunction(int *param) { // Do something }
-
サイズ設定された配列としての正式なパラメーター
void myFunction(int param[10]) { // Do something }
-
サイズなし配列としての正式なパラメータ
void myFunction(int param[]) { // Do something }
#include<iostream> using namespace std; void arrayAccept(int arr[]) { cout << "first element is: " << arr[0]; } int main() { int arr[2]; arr[0] = 0; arr[1] = 1; arrayAccept(arr); return 0; }
first element of array is 0
-
C ++の関数から配列を返す方法は?
C ++は配列全体を返すわけではありませんが、配列へのポインタを返すことはできます。関数外では、ローカル変数のアドレスを返すことはできません。ローカル変数を静的にすることで、ローカル変数のアドレスを返すことができます。 ポインタを返す構文は次のとおりです。 int * function_name() { body } ここで function_name −ユーザーが指定した関数の名前。 以下は、関数から配列を返す例です。 例 #include <iostream> using namespace std; int * ret() { stati
-
2次元配列をC++関数に渡す
C ++では、配列全体を引数として関数に渡すことはできません。ただし、インデックスなしで配列の名前を指定することにより、配列へのポインタを渡すことができます。 2D配列を関数に渡すには3つの方法があります- 2D配列の列のサイズを指定します void processArr(int a[][10]) { // Do something } ポインタを含む配列を渡す void processArr(int *a[10]) { // Do Something } // When callingint *array[10]; for(int i