21xrx.com
2024-05-19 18:57:01 Sunday
登录
文章检索 我的文章 写文章
C语言函数中如何返回一个数组
2023-06-19 20:25:10 深夜i     --     --
C语言 函数 数组

有时候我们需要在函数中返回一个数组,但是C语言的函数却不支持直接返回数组。那么如何实现呢?

解决方法是将数组作为参数传递给函数,然后在函数中修改数组的值,最后返回数组的指针。

举个例子,我们可以这样定义一个函数void getArray(int *arr, int len),其中arr表示数组的指针,len表示数组的长度。在函数内部我们可以修改arr指针所指向的数组的值,然后返回arr指针即可。

具体实现如下:


int *getArray(int *arr, int len) {

  int i;

  for (i = 0; i < len; i++) {

    arr[i] = i * i;

  }

  return arr;

}

上述函数实现了将数组中的每个元素都赋值为元素下标的平方,并返回了数组的指针。在调用该函数时,需要先定义一个数组,然后将数组和长度作为参数传递给函数,并存储函数返回的数组指针。

使用该函数的示例代码如下:


int main() {

  int arr[10];

  int i, *p;

  p = getArray(arr, 10);

  for (i = 0; i < 10; i++) {

    printf("%d ", *(p + i));

  }

  return 0;

}

该示例程序定义了一个长度为10的数组arr,在调用函数getArray时将该数组和长度10作为参数传递给函数,并使用变量p存储返回的数组指针。最后程序使用指针p打印出数组中所有的元素值。

  
  

评论区

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