打印
[MM32软件]

C语言中return的各种用法

[复制链接]
837|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
海滨消消|  楼主 | 2024-3-16 19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
按初学的理解,return的任务就是返回对应的参数,在外层函数中对这个参数做进一步处理。

    实际上return的用法不只这些。

为调用的函数返回参数值

    此类应用最为普遍,通常是在一个具有返回值的函数中,返回一个参数值,这个返回的参数可以是一个数、表达式。通常情况下,返回值是一个值,如果想返回多个值可以参考以下三点:

设置全局变量,全局变量是定义在函数外的一个变量,其不属于任何一个函数,所以,虽然在调用函数中return返回一个值,但可以将其余的返回值赋值给全局变量,这样就做到了返回多个值的效果。

使用数组名或指针作为函数形参,返回的是一个地址,主函数可以根据这个地址找到多个,要返回的数据。

使用结构体作为函数形参,结构体中可以包含多种形式的变量,以结构体作为形参相当于将所有返回值打包在一起,一次返回。

提前结束函数

    由于return具有把程序流程从被调函数转向主调函数的作用,所以时候也会用来终止函数的调用,也就是说return是提前结束函数的唯一方法。因为函数一遇到return就立即返回,return后面的程序都不再执行,所以一个函数中可以有多个return,但只会执行一个。return后面可以跟一个参数作为返回值,也可以不跟参数,仅仅代表结束此函数。

返回一个函数

    如果return后面跟的是一个函数的话,就意味着,跳出此调用函数,并且跳出后执行return后的函数,然后继续在主函数中执行程序。

    有时利用return返回一个操作,比如在程序调试中出错后,需要return跳出错误函数并向串口打印出错误的原因,这个时候return后面的函数就用来向串口打印错误原因的。相关文章推荐:学习STM32单片机,绕不开的串口。

使用特权

评论回复
沙发
tpgf| | 2024-4-8 13:45 | 只看该作者
return用不好 会导致程序跑飞吗

使用特权

评论回复
板凳
wakayi| | 2024-4-8 17:26 | 只看该作者
我一直以为return最大的用途就是跳出来

使用特权

评论回复
地板
renzheshengui| | 2024-4-8 18:36 | 只看该作者
return语句应该比break语句用的更加广泛

使用特权

评论回复
5
木木guainv| | 2024-4-9 10:11 | 只看该作者
return的用法非常灵活 ,它所指向性非常广泛

使用特权

评论回复
6
xiaoqizi| | 2024-4-9 12:44 | 只看该作者
return可以跳转到一个指定的位置上吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

237

主题

1593

帖子

2

粉丝