开发者社区> 问答> 正文

在函数中返回数组

我有一个int arr[5]传递给函数的数组fillarr(int arr[]):

int fillarr(int arr[]) { for(...); return arr; } 如何返回该数组? 我将如何使用它,说我返回了一个指针,我将如何访问它?

展开
收起
保持可爱mmm 2020-01-16 17:01:41 410 0
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; } 问题来源于stack overflow

    2020-01-16 17:01:53
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载