21xrx.com
2024-09-19 09:18:57 Thursday
登录
文章检索 我的文章 写文章
C语言中函数如何返回数组
2023-06-14 11:23:02 深夜i     --     --
C语言 函数 返回数组

在C语言中,数组是一种非常常见的数据类型。但是,有时候我们需要从一个函数中返回一个数组。那么,如何实现呢?

C语言中,数组名就代表了数组的首地址。也就是说,如果我们能够返回这个地址,就可以实现从函数中返回一个数组了。

具体实现方法有两种:

1.将数组作为函数的返回值

这种方法比较简单,代码如下:


int* func() {

  static int arr[5] = 1; // 静态局部变量

  return arr;

}

这里返回的是数组arr的首地址。需要注意的是,这个数组必须是静态局部变量或全局变量,不能是普通的局部变量。因为局部变量会在函数结束时被销毁,如果返回它的地址是没有任何意义的。

2.通过指针参数传递数组地址

这种方法比较灵活,可以传递任意大小的数组。代码如下:


void func(int* arr, int size) {

  for (int i = 0; i < size; i++) {

    arr[i] = i;

  }

}

int main() {

  int arr[5];

  func(arr, 5);

  return 0;

}

这里通过指针参数arr传递了数组的首地址和数组的大小size。在函数内部,可以通过arr[i]的方式访问数组元素。需要注意的是,这种方法可以传递任意大小的数组,但是无法返回数组作为函数的返回值。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复