ホームページ >バックエンド開発 >C++ >C 関数で配列を返したり変更するにはどうすればよいですか?

C 関数で配列を返したり変更するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-20 13:33:11460ブラウズ

How Can I Return and Modify Arrays in C   Functions?

関数で配列を返す

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。