永发信息网

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

答案:2  悬赏:30  手机版
解决时间 2021-12-20 21:12
  • 提问者网友:溺爱和你
  • 2021-12-20 09:19
自定义函数中创建的数组怎么传递回主函数
最佳答案
  • 五星知识达人网友:千杯敬自由
  • 2021-12-20 09:26
函数中的数组一般是开设在栈中,返回后被舍弃
如果数组是用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; }
全部回答
  • 1楼网友:封刀令
  • 2021-12-20 10:10
方法 有2 1. 将该数组定义为全局变量,即: int g_arr; void fun() {...}         void main()         {...} 2.将该数组作为函数参数传递到自定义函数里,即:     void fun(int arr[])     {...}     void main()     {         int arr[10];         fun(arr);     }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯