関数で配列を返す
C では、配列は第一級オブジェクトではないため、関数から直接返すことはできません。ただし、関数内で配列を操作するには 2 つの一般的なアプローチがあります。
アプローチ 1: 参照による受け渡し
質問で示されているように、配列は次のように渡すことができます。関数を参照として使用すると、関数が元の配列を変更できるようになります。その後、関数は更新された配列にアクセスしながら、void または別のデータ型を返すことができます。
アプローチ 2: ポインタを返す
あるいは、配列を返すこともできます。 from 関数は最初の要素へのポインターとして機能します。関数はポインタを介して元の配列にアクセスして変更できるため、これは本質的に参照渡しと同じです。
実装例:
int* fillArray(int arr[], int size) { for (int i = 0; i < size; ++i) { arr[i] = i + 1; } return arr; } int main() { int arr[5]; int* result = fillArray(arr, 5); // Access and print the modified array through the pointer for (int i = 0; i < 5; ++i) { cout << result[i] << " "; } cout << endl; return 0; }
Inこの例では、fillArray 関数は配列参照とサイズを入力として受け取り、変更された配列の最初の要素へのポインターを返します。 main 関数はこの関数を呼び出し、結果をポインターに格納します。次に、このポインタを介して変更された配列にアクセスします。
以上がC 関数で配列を返したり変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。