一个函数如何返回多个返回值

cooler36659266 2009-02-06 05:04:20
如题,如何提取到返回数组当中的值?
...全文
3574 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jfct001 2009-02-08
  • 打赏
  • 举报
回复
使用指针,多传递地址……
lwouyang 2009-02-08
  • 打赏
  • 举报
回复
1 可以定义一个 struct ret 类型,其内部包含要返回的多个返回值,将结果填充到 struct ret 中,并返回其指针,再从中检出各返回值。
2 将所有要修改的变量都以传址参数嵌入到参数列表中,在被调函数中修改值。
不知是不是楼主要的?
yellowhwb 2009-02-07
  • 打赏
  • 举报
回复
用传引用的方法
或者把返回值包在一个结构体里
HelloDan 2009-02-07
  • 打赏
  • 举报
回复
那你返回一个数组指针吧。或结构体
ZhengZhiRen 2009-02-07
  • 打赏
  • 举报
回复
六楼
qww_5 2009-02-06
  • 打赏
  • 举报
回复
不外乎两种,结构体和指针。
结构体比较容易理解。指针就是把一个指针当作参数传递给函数,函数体内对指针指向的内存控件写数据,这样数据也可以被传递出来。
centipede198613 2009-02-06
  • 打赏
  • 举报
回复
用指针或引用做函数参数,在函数中改变这些变量
neeestth 2009-02-06
  • 打赏
  • 举报
回复
使用宏也可以返回多个值
damo_xu 2009-02-06
  • 打赏
  • 举报
回复
LZ一定要注意,不管返回结构或数组的指针,这个指针一定是全局或静态或malloc的就没问题了。
bitxinhai 2009-02-06
  • 打赏
  • 举报
回复
使用指针或者引用作为函数的参数,
通过参数带回返回值,
也可以定义一个结构体,返回结构体就行了!!!
snail_new 2009-02-06
  • 打赏
  • 举报
回复
可以采用全局变量,将需要返回的值存进去
若使用子函数,也只能返回一个值

也可以定义结构体或者数组,
都是全局型的变量

在结构体的里面存放的变量多一些

这些都需要根据你的具体情况来定了
hemiya 2009-02-06
  • 打赏
  • 举报
回复
函数只能返回类型的一个值.
但是类型可以自己任意定义.
hellodudu 2009-02-06
  • 打赏
  • 举报
回复
返回结构体也行 用指针做参数也行 最好用引用
hityct1 2009-02-06
  • 打赏
  • 举报
回复
一般方法是:想要到的数据可以通过参数传出来(通过指针或引用),不用复制副本。
如果要返回:可以返回个结构或者如vector这样的容器,但返回时要复制副本,数据较多时效率低。如果返回是全局变量或
new申请的空间可以返回引用或指针,效率也可。
waizqfor 2009-02-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cooler36659266 的回复:]
引用 1 楼 waizqfor 的回复:
没明白LZ想实现什么
不过一个函数 只有一个返回值啊 想有多个就多次调用它吧

想问的就是一个函数如何返回多个返回值?
[/Quote]
理论上一个函数 只有一个返回值 不知道这种 是不是LZ说的效果
1. return a[] a里面装的是几个返回值
2. 引用在c++适用 int test(&a,&b,&c)在函数中操作abc的值可以改变abc的值
3. 类似使用传指针的函数 C C++同样适用
4. 建立一个结构体 存返回值 然后函数返回这个结构体
寒枫一_ip 2009-02-06
  • 打赏
  • 举报
回复
函数只能有一个返回值啊,你要得到多余的数据,可以将参数指针传进参数,然后在参数中修改
cooler36659266 2009-02-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dudududu0703 的回复:]
可以定义一个结构体。

在这个函数中,把结构体的成员进行赋值,或者改变某个值。

然后把这个结构体的指针传回去。

应该就行吧。
[/Quote]
用数组可以么?然后把数组的首地址传回去?
我就是把地址传回去了用不到。。。
啊杜 2009-02-06
  • 打赏
  • 举报
回复
可以定义一个结构体。

在这个函数中,把结构体的成员进行赋值,或者改变某个值。

然后把这个结构体的指针传回去。

应该就行吧。
cooler36659266 2009-02-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 waizqfor 的回复:]
没明白LZ想实现什么
不过一个函数 只有一个返回值啊 想有多个就多次调用它吧
[/Quote]
想问的就是一个函数如何返回多个返回值?
waizqfor 2009-02-06
  • 打赏
  • 举报
回复
没明白LZ想实现什么
不过一个函数 只有一个返回值啊 想有多个就多次调用它吧

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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