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