如何编写有多个返回值的C语言函数

C语言函数的返回值是通过函数中的return语句来实现的,但是每调用一次该函数,return语句只能返回一个值,所以当我们在编写C语言代码时,想返回多个返回值,直接用return语句是无法实现的。

1)利用全局变量:

全局变量的作用域是从定义变量开始到程序结束,所以对于编写多个返回值的C语言函数,我们可以考虑把要返回的多个值定义成全局变量当函数被调用时,全局变量被更改,再把更改后的全局变量应用于主调函数中。函数被调用后,被更改后的全局变量值即为函数所要返回的多个返回值。
注意点:该方法虽然可以实现有多个返回值的函数,但由于全局变量不能保证值的正确性(因为其作用域是全局,所以程序范围内都可以修改它程序间模块的耦合。的值,如果出现错误将很难发现),并且全局变量增加了

2)传递数组指针:

C语言函数参数的传递方法有值传递和地址传递。当进行值传递时,主调函数把实参的值复制给形参,形参获得从主调函数传递过来的值运行函数。在值传递过程中,被调函数参数值的更改不能导致实参值的更改。而如果是地址传递,由于传递过程中从实参传递过来的是地址,所以被调函数中形参值更改会直接导致实参值的更改。因此,可以把多个返回值作为数组元素定义成一个数组的形式,并使该数组的地址作为函数的形参,以传址方式传递数组参数。函数被调用后,形参数组元素改变导致实参改变,再从改变后的实参数组元素中获得函数的多个返回值。

3)传递结构体指针:

如果要返回的数个数值的数据类型不一致,可以把要求返回的数个数定义为一个结构体,然后传递结构体指针的方式把指针传递给形参结构体指针,函数中对形参结构体的修改也是对实参结构体的修改,函数被调用后获得的实参结构体成员即函数的多个返回值。
  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值