大家好,欢迎来到IT知识分享网。
今天在开发STM32的时候遇到了关于 return
的问题,想想我也算学过C语言,但是对 return
的用法却只懂点皮毛,所以在这里总结一下 return
的具体几种用法和作用。
百度词条对 return
的介绍如下:
return 表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
这是较为官方的解释,按我初学的理解,return
的任务就是在一个函数的最后返回对应的参数,然后在外层函数中对这个参数做进一步处理。然鹅,我对return
的这种理解就像是外国人认为筷子只能夹菜,是片面肤浅的,筷子还可以用来喝汤、开啤酒盖、插着吃玉米…所以说return
也有很多种用法,本质上return
就是返回函数,只是我们在应用的过程中赋予了return
更加丰富的作用罢了。
一.为调用的函数返回参数值
此类应用最为普遍,通常是在一个具有返回值的函数中,返回一个参数值,这个返回的参数可以是一个数、表达式。通常情况下,返回值是一个值,如果想返回多个值可以参考以下三点:
1.设置全局变量,全局变量是定义在函数外的一个变量,其不属于任何一个函数,所以,虽然在调用函数中return
返回一个值,但可以将其余的返回值赋值给全局变量,这样就做到了返回多个值的效果。
2.使用数组名或指针作为函数形参,返回的是一个地址,主函数可以根据这个地址找到多个,要返回的数据。
3.使用结构体作为函数形参,结构体中可以包含多种形式的变量,以结构体作为形参相当于将所有返回值打包在一起,一次返回。
二.提前结束函数
由于return
具有把程序流程从被调函数转向主调函数的作用,所以时候也会用来终止函数的调用,也就是说return
是提前结束函数的唯一方法。因为函数一遇到return
就立即返回,return
后面的程序都不再执行,所以一个函数中可以有多个return
,但只会执行一个。return
后面可以跟一个参数作为返回值,也可以不跟参数,仅仅代表结束此函数。
三.返回一个函数
如果return
后面跟的是一个函数的话,就意味着,跳出此调用函数,并且跳出后执行return
后的函数,然后继续在主函数中执行程序。有时利用return
返回一个操作,比如在程序调试中出错后,需要return
跳出错误函数并向串口打印出错误的原因,这个时候return
后面的函数就用来向串口打印错误原因的。(个人理解)
文章参考:
C语言中文网
麦兜家园
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12910.html