我有一个数组 int arr[5]
传递给函数 fillarr(int arr[])
:
int fillarr(int arr[])
{
for(...);
return arr;
}
- 我怎样才能返回那个数组?
- 我将如何使用它,假设我返回了一个指针,我将如何访问它?
最佳答案
在这种情况下,您的数组变量 arr
实际上也可以通过隐式转换被视为指向内存中数组 block 开头的指针。您正在使用的语法:
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;
}
关于c++ - 在函数中返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40633209/