c语言如何返回数组

来源:这里教程网 时间:2026-02-21 16:49:22 作者:

在 C 语言中返回数组

在 C 语言中,数组是一个连续内存区域,用于存储相同数据类型的元素。通常情况下,数组作为函数参数被传递,但也可以从函数中返回。

如何返回数组

C 语言中无法直接返回数组。这是因为数组在内存中作为连续块存在,而函数只能返回单一值。因此,需要使用指针来解决这个问题。可以通过以下步骤从函数中返回数组:

立即学习“C语言免费学习笔记(深入)”;

    声明数组指针:在函数中声明一个指向数组首元素的指针。 分配内存:使用
    malloc
    calloc
    分配足够的内存来容纳数组元素。
    存储数组元素:将数组元素存储在分配的内存中。 返回指针:返回指向数组首元素的指针。

示例代码:

<code class="c">#include <stdio.h>
#include <stdlib.h>
int* create_and_return_array(int size) {
  // 分配内存
  int* arr = (int*)malloc(sizeof(int) * size);
  // 存储数组元素
  for (int i = 0; i < size; i++) {
    arr[i] = i;
  }
  // 返回数组指针
  return arr;
}
int main() {
  // 调用函数并获取返回的数组指针
  int* arr = create_and_return_array(5);
  // 使用数组
  for (int i = 0; i < 5; i++) {
    printf("%d ", arr[i]);
  }
  // 释放内存
  free(arr);
  return 0;
}</code>

输出:

<code>0 1 2 3 4</code>

相关推荐