C语言编程允许从一个函数返回一个数组,类似的C语言允许从一个函数返回一个指针。要做到这一点,就必须声明返回一个指针,在下面的例子中的函数:
int*myFunction(){...}
第二点要记住的是,它不是一个局部变量的地址返回函数之外不是一个好办法,所以必须要定义局部变量为静态的。
现在,考虑下面的函数,将产生10个随机数,并使用它表示第一个数组元素的指针,即地址数组名返回。
#include#include/* function to generate and retrun random numbers. */int*getRandom(){staticintr[10];inti;/* set the seed */srand((unsigned)time(NULL));for(i=0;i<10;++i){r[i]=rand();printf("%d
",r[i]);}returnr;}/* main function to call above defined function */intmain(){/* a yiibaier to an int */int*p;inti;p=getRandom();for(i=0;i<10;i++){printf("*(p + [%d]) : %d
",i,*(p+i));}return0;}
当上述代码被编译在一起并执行时,它会产生结果一些如下:
1523198053
1187214107
1108300978
430494959
1421301276
930971084
123250484
106932140
1604461820
149169022
*(p + [0]) : 1523198053
*(p + [1]) : 1187214107
*(p + [2]) : 1108300978
*(p + [3]) : 430494959
*(p + [4]) : 1421301276
*(p + [5]) : 930971084
*(p + [6]) : 123250484
*(p + [7]) : 106932140
*(p + [8]) : 1604461820
*(p + [9]) : 149169022
¥ 我要打赏
纠错/补充
收藏
上一篇:
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。