朝阳网站开发公司,网站设计合同模板,外贸网站屏蔽国内ip,phpcms网站备份我们已经了解了 C 语言中如何从函数返回数组#xff0c;类似地#xff0c;C 允许您从函数返回指针。为了做到这点#xff0c;您必须声明一个返回指针的函数#xff0c;如下所示#xff1a;
int * myFunction()
{
.
.
.
}另外#xff0c;C 语言不支持在调用函数时返回局部…我们已经了解了 C 语言中如何从函数返回数组类似地C 允许您从函数返回指针。为了做到这点您必须声明一个返回指针的函数如下所示
int * myFunction()
{
.
.
.
}另外C 语言不支持在调用函数时返回局部变量的地址除非定义局部变量为 static 变量。
现在让我们来看下面的函数它会生成 10 个随机数并使用表示指针的数组名即第一个数组元素的地址来返回它们具体如下
#include stdio.h
#include time.h
#include stdlib.h /* 要生成和返回随机数的函数 */
int * getRandom( )
{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;
}当上面的代码被编译和执行时它会产生下列结果
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