自定义函数中创建的数组怎么传递回主函数
答案: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; }
如果数组是用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);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯