C语言 c++ 在自定义函数中创建的数组 怎么在主函数中使用?
1个回答
展开全部
提供2个办法供参考:
把自定义函数中的数组创建为static存储性质,并把首地址及大小返回给主函数。
在自定义函数中创建数组时用动态方法建立的堆上,把首地址及大小返回给主函数,在主函数中使用完毕后释放。
追问
第一种方法会了 第二种你举个栗子呢 谢谢
追答
#include "stdio.h"
#include <stdlib.h>
int *f(int *n){//自定义函数
int i,*p;
*n=10;
p=(int *)malloc(sizeof(int)*(*n));//在堆上动态创建数组
for(i=0;i<*n;p[i++]=20+i);//举例赋值
return p;
}
int main(int argv,char *argc[]){
int n=0,*q,i;
for(q=f(&n),i=0;i<n;printf("%5d",q[i++]));//调用f创建数组并在这里使用
free(q);//释放自定义函数中动态创建的数组
printf("\n");
return 0;
}
举例结果:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询