21xrx.com
2024-11-22 07:20:33 Friday
登录
文章检索 我的文章 写文章
C语言函数返回数组指针
2023-06-14 21:29:28 深夜i     --     --
C语言 数组指针 返回值

在C语言中,函数可以返回不同类型的值,如int、float、char等。如果需要返回数组类型的值,可以使用返回数组指针的方式。

一个函数返回一个指向数组的指针,其实就是返回了一个数组的首地址,我们也可以认为是返回了一个数组。这个数组可以是静态数组,也可以是动态数组。

下面是一个例子,函数返回一个指向静态数组的指针:


#include

int* func()

{

  static int arr[5] = 3;

  return arr;

}

int main()

{

  int* ptr = func();

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

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

  }

  return 0;

}

输出结果:1 2 3 4 5

在上面的例子中,函数func返回了一个指向静态数组arr的指针,这个数组在函数外部也是可见的。我们定义了一个指向整数的指针ptr,它指向了arr数组的第一个元素。在main函数中,我们可以通过ptr指针访问arr数组的元素。

除了静态数组之外,也可以返回指向动态数组的指针。下面是一个例子:


#include

#include

int* func(int size)

{

  int* arr = (int*)malloc(sizeof(int)*size);

  for(int i=0;i

    arr[i] = i+1;

  }

  return arr;

}

int main()

{

  int* ptr = func(5);

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

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

  }

  free(ptr);

  return 0;

}

输出结果:1 2 3 4 5

在上面的例子中,函数func返回了一个指向动态数组arr的指针。我们通过malloc函数在堆内存中动态分配了一个大小为size的整型数组,并对数组元素进行了赋值。在main函数中,我们同样可以通过ptr指针访问arr数组的元素。

  
  

评论区

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