C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

配列をC++関数に渡す


C ++では、配列全体を引数として関数に渡すことはできません。ただし、インデックスなしで配列の名前を指定することにより、配列へのポインタを渡すことができます。

1次元配列を関数の引数として渡したい場合は、次の3つの方法のいずれかで関数の仮パラメーターを宣言する必要があります。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

  1. C ++の関数から配列を返す方法は?

    C ++は配列全体を返すわけではありませんが、配列へのポインタを返すことはできます。関数外では、ローカル変数のアドレスを返すことはできません。ローカル変数を静的にすることで、ローカル変数のアドレスを返すことができます。 ポインタを返す構文は次のとおりです。 int * function_name() { body } ここで function_name −ユーザーが指定した関数の名前。 以下は、関数から配列を返す例です。 例 #include <iostream> using namespace std; int * ret() {    stati

  2. 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