如何返回一个数组

namewchwch 2009-05-22 08:43:56
如何让函数返回一个数组值 如
int[] product(int a,int b,int c)
{ int a[2];
a[0]=a*b;
a[2]=b*c;
return a[];///这样貌似不行

}
就是直接返回一个数组 不是返回指针;
...全文
1158 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
夏夜繁星 2011-11-11
  • 打赏
  • 举报
回复

五楼的做法很好啊,用结构体返回
至善者善之敌 2009-06-02
  • 打赏
  • 举报
回复
返回数组的首地址也就是指针即可,没有返回数组一说。
zhaohongbo83 2009-05-24
  • 打赏
  • 举报
回复
不能返回数组,还有对于局部数组 在函数退出后就释放了
的先将值保存到一个函数外部的结构体 或者数组里
pengzhixi 2009-05-24
  • 打赏
  • 举报
回复
1.你这个是局部变量的数组,出了这个函数就没意义了.
2.如果你想返回那就用指针.
jiujiu45 2009-05-24
  • 打赏
  • 举报
回复
顶了!!
T技术沙龙 2009-05-24
  • 打赏
  • 举报
回复
感觉没有这样的做法吧
Jalien 2009-05-24
  • 打赏
  • 举报
回复
有这种需要吗?
goodname 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 namewchwch 的回复:]
int[] product(int a,int b,int c)
{ }

这个函数是固定的格式  要求的 返回值 为  int[]

真的没办法吗?
[/Quote]

没听说过有这种写法.
Sou2012 2009-05-23
  • 打赏
  • 举报
回复
不能返回数组!
HelloDan 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 namewchwch 的帖子:]
如何让函数返回一个数组值 如
int[] product(int a,int b,int c)
{ int a[2];
a[0]=a*b;
a[2]=b*c;
return a[];///这样貌似不行

}
就是直接返回一个数组 不是返回指针;
[/Quote]

你要明白啊。你这样返回的一个数组有用吗?都是局部变量,出了作用域就没效了。

用指针能实现你的要求的。
lpf000 2009-05-23
  • 打赏
  • 举报
回复
你那个是局部数组 不能返回,再说了只能返回其指针
  • 打赏
  • 举报
回复
直接返回指针啊,有什么问题呢?很好用啊
namewchwch 2009-05-23
  • 打赏
  • 举报
回复
int[] product(int a,int b,int c)
{ }

这个函数是固定的格式 要求的 返回值 为 int[]

真的没办法吗?
Larry316 2009-05-23
  • 打赏
  • 举报
回复
直接返回指针就行!
papaofdoudou 2009-05-23
  • 打赏
  • 举报
回复
mark
ljl2200062 2009-05-23
  • 打赏
  • 举报
回复

a[2]为一局部变量,当函数运行完后,它所占的内存就会释放掉了
可以用引用调用吧:
int a[2];
void product(int a,int b, int c, int a[]//数组首地址)
{a[0]=a*b;
a[1]=b*c;
}
5楼我也要学习下,一个好方法
ysysbaobei 2009-05-23
  • 打赏
  • 举报
回复
xiaoshi935 2009-05-23
  • 打赏
  • 举报
回复
定义一个类或者结构体吧,好像没有直接返回数组的。
WOBUGUAN 2009-05-23
  • 打赏
  • 举报
回复
5楼的办法好。
你这种写法编译不过的。

[Quote=引用 22 楼 namewchwch 的回复:]
int[] product(int a,int b,int c)
{ }

这个函数是固定的格式 要求的 返回值 为 int[]

真的没办法吗?
[/Quote]
moon2008moon 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 namewchwch 的帖子:]
如何让函数返回一个数组值 如
int[] product(int a,int b,int c)
{ int a[2];
a[0]=a*b;
a[2]=b*c;
return a[];///这样貌似不行

}
就是直接返回一个数组 不是返回指针;
[/Quote]
return 语句返回指向“栈内存”的指针
这样返回的值不是你想要的而是垃圾

用2楼和5楼的办法都行
加载更多回复(17)

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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