関数で配列を返す
C では、関数から配列を返すことが必要になることがよくあります。以下の質問はこのトピックについて説明しています:
質問:
関数 fillarr(int arr[]) に渡される配列 int arr[5] について考えてみましょう。:
int fillarr(int arr[]) { for(...); return arr; }
a) 配列を返すにはどうすればよいですか?
b) ポインタを返す場合、どのように返すのですか?アクセスしますか?
答え:
a) 配列変数 arr は、そのメモリ ブロックの先頭へのポインタとして扱うことができます。次の構文:
int fillarr(int arr[])
は、
int fillarr(int* arr)
と同等です。したがって、最初の配列要素へのポインタを返すことができます:
int* fillarr(int arr[])
b)返されたポインターにアクセスするには、呼び出し元の関数で通常の配列と同様にそれを使用できます:
int y[10]; int *a = fillarr(y); cout << a[0] << endl;
以上がC 関数から配列を返したりアクセスしたりするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。