您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
c语言实现从函数返回数组
发布时间:2021-04-14 20:58:11编辑:雪饮阅读()
在其它语言,比较高级的语言中,比如php或者JavaScript中如果一个函数要返回一个数组是很简单的。
但是在c语言中实现起来可就不容易了。
首先c语言中一个函数中的局部变量是不被允许向外return的。那么除非这个局部变量被声明为static。
C语言中返回一个数组就是返回一个数组的指针。所以在接收这个函数的返回值的时候也必须是要以指针来接收。
那么所以具体的实现如:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
/* 返回数组 */
int * getRandom( )
{
//C 语言不支持在调用函数时返回局部变量的地址,除非定义局部变量为 static 变量。
static int r[10];
int i;
/* 设置种子 */
srand( (unsigned)time( NULL ) );
for ( i = 0; i < 10; ++i)
{
r[i] = rand();
printf("%d\n", 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;
}
这里getRandom方法前面的返回值类型“*”就表示返回的是指针类型,这里正好用作数组的返回。
关键字词:c,c语言,函数,返回,数组
上一篇:c语言中的指针数组