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