自定义函数中创建的数组怎么传递回主函数

如题所述

函数中的数组一般是开设在栈中,返回后被舍弃
如果数组是用malloc函数或者c++的new在堆中申请的,可以将指针传递回来,然后由调用者使用,完毕后由调用这负责释放;
int * fun(int n) { int p; p=(int *)malloc(n*sizeof(int)); return p; }
如果数组开设成静态的,也可以将其指针传递给调用者使用,这个数组会一直保留
int *fun(int n) { static int a[20]; int i; for ( i=0;i<20;i++ ) a[i]=i+n; return a; }
温馨提示:答案为网友推荐,仅供参考