C 从函数返回数组

C 语言不容许返回一个完整的数组做为函数的参数。可是,您能够经过指定不带索引的数组名来返回一个指向数组的指针。咱们将在下一章中讲解有关指针的知识,您能够先跳过本章,等了解了 C 指针的概念以后,再来学习本章的内容。数组

若是您想要从函数返回一个一维数组,您必须声明一个返回指针的函数,以下:dom

int * myFunction()
{
   .
   .
   .
}

另外,C 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。函数

如今,让咱们来看下面的函数,它会生成 10 个随机数,并使用数组来返回它们,具体以下:学习

实例

#include <stdio.h>
#include <stdlib.h>
#include <time.h> /* 要生成和返回随机数的函数 */
int * getRandom( )
{
   static int r[10];
   int i; /* 设置种子 */
   srand( (unsigned)time( NULL ) );
   for ( i = 0; i < 10; ++i)
{
   r[i] = rand();
   printf( "r[%d] = %d\n", i, r[i]);
}
   return r;
} /* 要调用上面定义函数的主函数 */
   int main ()
{ /* 一个指向整数的指针 */
   int *p;
   int i;
   p = getRandom();
   for ( i = 0; i < 10; i++ )
{
   printf( "*(p + %d) : %d\n", i, *(p + i));
}
   return 0;
}
运行结果:
相关文章
相关标签/搜索