int arr[5]
関数に渡される配列がありますfillarr(int arr[])
:
int fillarr(int arr[])
{
for(...);
return arr;
}
- その配列を返すにはどうすればいいでしょうか?
- どのように使用するのでしょうか。たとえば、ポインターを返した場合、どのようにアクセスするのでしょうか。
ベストアンサー1
この場合、配列変数は、arr
暗黙的な変換によって、メモリ内の配列ブロックの先頭へのポインターとして扱うこともできます。使用している構文は次のとおりです。
int fillarr(int arr[])
これは単なる構文上の糖衣です。これを次のように置き換えても動作します:
int fillarr(int* arr)
同じ意味で、関数から返したいのは、実際には配列の最初の要素へのポインターです。
int* fillarr(int arr[])
通常の配列と同じように使用することもできます。
int main()
{
int y[10];
int *a = fillarr(y);
cout << a[0] << endl;
}