赞
踩
本文介绍如何通过函数返回数组以及如何通过指定不带索引的数组名称来生成一个指向数组中第一个元素的指针
C 语言不允许返回一个完整的数组作为函数的参数。但是,可以通过指定不带索引的数组名来返回一个指向数组的指针。将在后续中讲解有关指针的知识,可以先跳过本文,等了解了 C 指针的概念之后,再来学习本文的内容。
如果想要从函数返回一个一维数组,必须声明一个返回指针的函数,如下:
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()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。