关于返回值

expter 2006-11-20 01:41:59
定义1个函数f(long a);
这个将返回1个数组....

在组函数怎么接受这个返回值啊...
...全文
213 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
owlling 2006-11-20
  • 打赏
  • 举报
回复
这儿有两个问题,
第一,作为返回数组,你不能是stack的数组。也就是说你不能
int* f()
{
int a[10];
return a;
}
因为随着函数的结束,stack变量会消亡的,你得使用heep上空间,也就是说你得这样
int* f()
{
int* a = new int[10];
return a;
}
第二,在main端,你可以使用指针得到该数组的句柄,但是由于他是heep数组,你还要记得释放他,以免内存泄漏
int main()
{
int* p = f();
p[1]=10;
delete[] p;
return 0;
}
当然,如果你不是非用返回值不可的话,可以使用daiyong_79(口笛) 建议的方法,实现变量的引用语义、、

KUCHIBUE 2006-11-20
  • 打赏
  • 举报
回复
建议你在主程序里定义好数组再传进函数里......
void func(int *&ppp)
{
//...
}

int main()
{
int pp[200];
func(pp);
}
weixing979 2006-11-20
  • 打赏
  • 举报
回复
可以返回指向这个数组的指针

15,447

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧