社区
C++ 语言
帖子详情
如何返回一个数组
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
打赏
收藏
如何返回一个数组
如何让函数返回一个数组值 如 int[] product(int a,int b,int c) { int a[2]; a[0]=a*b; a[2]=b*c; return a[];///这样貌似不行 } 就是直接返回一个数组 不是返回指针;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
你那个是局部数组 不能返回,再说了只能返回其指针
猫已经找不回了
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)
c语言,c++函数
返回
一个
数组
,二维
数组
与其他高级语言相比,c语言,c++ 最大的不方便之处就是 函数只能
返回
一个
数值。若要
返回
一个
数组
,必须用到指针以及动态分配内存。 这是
一个
坎,就如学吉他时的大横按一样,不少人在这个坎上望而却步。 我前几年一直看不懂,最近重温c 与c++的动态内存,发现忽然明白会用了。可能经过这几年大量的编程,越来越具有程序员思维了吧。 方法之一:
返回
一个
结构体,结构体里面包括
一个
数组
。 因为结构体
c语言中如何
返回
一个
数组
函数
在C语言中,无法直接
返回
一个
数组
,但是可以通过
返回
对应类型指针的方式,
返回
数组
。 在大多数情况下,一维
数组
和一维指针是可以通用的。 比如,定义
一个
函数,申请一定长度的整型动态
数组
,其长度用参数传入,并将结果
返回
。如出错,
返回
空指针NULL。 代码可以写成如下形式: int *int_array_create(int n)//参数n为
数组
元素个数 { int *r;
C/C++中,函数
返回
一个
数组
方法(转)
Java语言的函数可以轻易的
返回
一个
数组
,而C/C++却不能直接
返回
一个
数组
。这是由于在C/C++中,
数组
不是一种类型,因此不能被直接
返回
。 在C/C++中,一般有两种方法来
返回
一个
数组
。第一种方法:
返回
一个
指向
数组
的指针,例如char (*retArray)[10]声明了
一个
函数retArray,该函数可以
返回
指向具有10个char元素的
数组
例子如下:#include <stdi...
c++函数
返回
一个
数组
https://www.cnblogs.com/walter-xh/p/6192800.html ---恢复内容开始--- 调用某个函数时经常需要函数
返回
一个
值,我们都知道c++ 的函数
返回
的是
一个
copy,所以当只
返回
一个
值时不会出现什么问题,直接return
一个
copy就行了,但是如果
返回
一个
数组
,事情就变得有趣了,我最近就遇到了这个问题。 先附上代码吧: #include&l...
C++函数
返回
一个
数组
的方法
C++函数
返回
一个
数组
C++ 语言
64,642
社区成员
250,474
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章