関数での配列の受け渡しと戻り
配列を引数として関数に渡す場合、暗黙的に配列へのポインタとして扱うことができます。配列のメモリ ブロックの先頭。これは、関数が配列の要素に直接アクセスして操作できることを意味します。ただし、関数から配列を返そうとする場合は、別のアプローチが必要です。
配列を返す
関数から配列を返すには、実際には次の関数を返します。配列の最初の要素へのポインタ。以下に例を示します。
int* fillArr(int arr[]) { // Do some operations on the array return arr; // Returns a pointer to the first element of arr }
返された配列の使用
配列へのポインタを返した後は、通常の配列と同じようにコード内でそれを使用できます。 。例:
int main() { int y[10]; int *a = fillArr(y); // Call the function and store the returned pointer cout << a[0] << endl; // Access the first element of the array through the pointer }
この例では、fillArr 関数は、a ポインターに格納されている y 配列の最初の要素へのポインターを返します。その後、このポインターを介して配列の要素にアクセスできます。
配列からポインターへの暗黙的な変換
上記の例では、関数引数の次の構文:
int* fillArr(int arr[])
ただし、これは機能的に同等です。 to:
int* fillArr(int *arr)
これは、配列変数は暗黙的に最初の要素へのポインターに変換できるためです。したがって、どちらの構文を使用しても配列を渡したり返したりできます。
以上が関数で配列を渡したり返したりするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。