美文网首页
C: 从函数返回数组

C: 从函数返回数组

作者: Aintro | 来源:发表于2017-11-20 23:14 被阅读143次

C 语言不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。

如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数,如下:

int * myFunction()
{
.
.
}

另外,C 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。
现在,让我们来看下面的函数,它会生成 10 个随机数,并使用数组来返回它们,具体如下:

#include 

/* 要生成和返回随机数的函数 */
int * getRandom( )
{
  static int  r[10];
  int i;

  /* 设置种子 */
  srand( (unsigned)time( NULL ) );
  for ( i = 0; i < 10; ++i)
  {
     r[i] = rand();
     printf( "r[%d] = %dn", i, r[i]);

  }

  return r;
}

/* 要调用上面定义函数的主函数 */
int main ()
{
   /* 一个指向整数的指针 */
   int *p;
   int i;

   p = getRandom();
   for ( i = 0; i < 10; i++ )
   {
       printf( "*(p + %d) : %dn", i, *(p + i));
   }

   return 0;
}

相关文章

  • 0语言学习C语言第七章:指针(5)

    C从函数返回指针 在上一章中,我们已经了解了 C 语言中如何从函数返回数组,类似地,C 允许您从函数返回指针。为了...

  • C: 从函数返回数组

    C 语言不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。 如...

  • C++ 返回数组指针

    因为数组不能被拷贝,所以函数不能返回数组。不过,函数可以返回数组的指针或引用。虽然从语法上来说,要想定义一个返回数...

  • C++plus6th 第7章函数(上)

    第七章 函数(模块) 1. 关于函数返回值 在C++中,函数分为有返回值和无返回值两种。函数可以返回除数组之外的任...

  • C语言

    C 指针、指针变量、函数指针、指针函数、指针数组、数组指针、C 数组

  • Math数组Date

    Math数组Date 写一个函数,返回从min到max之间的 随机整数,包括min不包括max 写一个函数,返回从...

  • 无标题文章

    PHP处理数组的常用函数?(重点看函数的‘参数’和‘返回值’) ①array()创建数组; ②count()返回数...

  • JavaScript Array 对象(数组属性&对象属性)

    一:数组属性 1.1 constructor(返回创建数组对象的原型函数) 1.2 length (设置或返回数组...

  • CPP_Basic_Summary_0.7

    CPP_Basic_Summary_0.7 1、C++要求函数的返回值不能是数组,但可以将数组作为结构或对象组成部...

  • js遍历数组和对象

    遍历种类 forEach 对数组的循环的函数,不会改变数组值 map 创建新数组,返回元素调用函数返回的结果 ev...

网友评论

      本文标题:C: 从函数返回数组

      本文链接:https://www.haomeiwen.com/subject/vjabvxtx.html