求助大神,怎么把数组从函数里面传出来呢?
c语言吧
全部回复
仅看楼主
level 9
求助大神,怎么把数组从函数里面传出来呢?
2018年09月01日 00点09分 1
level 11
你的数值定义在栈区,函数调用完毕,栈区清空了,返回数值首地址,就是个无效地址。。。你的数值要么用全局变量,全局变量保存在全局区,不会清空。。。要么定义在main函数内,把数组首地址传给函数,定义在main函数内,是在main的栈区,main运行结束时才会清空
2018年09月01日 01点09分 3
你的数组定义在栈区
2018年09月01日 01点09分
level 7
A应该是指针而不是头地址
2018年09月01日 01点09分 5
level 7
把被调函数的数组换成静态的,不然内存会回收,在之前加个static关键字
2018年09月01日 01点09分 6
level 4
你可以把数组开辟到堆区,然后返回期头指针就可以了。
2018年09月01日 05点09分 7
level 13
首先,数组变量不能那样赋值,你可以用指针形式(数组是const)
其次,在函数内部声明的A数组内存将在函数结束后被回收
解决方案有以下几种方法:1.将函数里面的数组变成static
2.在main函数里定义数组,并将指针作为参数传入fun函数
以上是我目前所能想到的一些方法
2018年09月01日 09点09分 8
level 4
设置循环语句和return..,可以一个一个输出数组元素
2018年09月01日 10点09分 9
level 5
int* fun()
{
int A[maxsize]={1,2,3,4,5,6,7,8,9,0};
int* pt= new int[maxsize];
pt = A;
return pt;
}
2018年09月01日 12点09分 10
1