• ベストアンサー

関数で配列を返す方法

ユーザー関数で、値を返す方法はしっています。 return 変数名; では配列を返す場合はどうすればよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

引数に、値を格納するための配列のポインタを渡し、そこに値を入れます。 関数の返却値としてのポインタは必ずしも返す必要はありませんが、返した方が便利になる場合もあります。 間違っても、関数内の自動変数の配列のアドレスを返さないで下さい。 関数から戻ったときに、自動変数は解放されます。

その他の回答 (3)

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.3

配列変数を直接、渡したり返したりする方法はありません。別の方法で代用してください。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

配列の要素が固定であれば、構造体にして返す方法もあります。 struct array { int x[10]; }; struct array func() {  struct array a;  ...  return a; }

  • 6dou_rinne
  • ベストアンサー率25% (1361/5264)
回答No.1

ポインタを返してください。

nVIDIA
質問者

補足

では、たとえば a[10] という配列を返すときは、 return *a; とかくのでしょうか?