0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言中return的各种用法

倩倩 来源:单片机与嵌入式 作者:单片机与嵌入式 2022-08-13 10:47 次阅读

按初学的理解,return的任务就是返回对应的参数,在外层函数中对这个参数做进一步处理。

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

为调用的函数返回参数值

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

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

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

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

提前结束函数

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

返回一个函数

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

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

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7589

    浏览量

    135767
  • 函数
    +关注

    关注

    3

    文章

    4274

    浏览量

    62302
  • 变量
    +关注

    关注

    0

    文章

    613

    浏览量

    28302

原文标题:C语言中return的各种用法

文章出处:【微信号:单片机与嵌入式,微信公众号:单片机与嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    C语言中的socket编程基础

    Socket编程简介 Socket是一种通信机制,允许程序之间进行通信。在C语言中,socket编程是网络编程的基础。通过使用socket,程序可以发送和接收数据,实现不同计算机之间的通信
    的头像 发表于 11-01 16:51 185次阅读

    如何解决C语言中的“访问权限冲突”异常?C语言引发异常原因分析

    如何解决C语言中的“访问权限冲突”异常?C语言引发异常原因分析  在C语言中,访问权限冲突异常通
    的头像 发表于 01-12 16:03 4544次阅读

    C语言中结构体能不能相加

    C语言中,结构体能不能相加?
    的头像 发表于 12-19 17:04 1174次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言中</b>结构体能不能相加

    C语言-#和##的具体用法

    C语言中,在宏里面使用’#’和’##’有它非常神奇的作用。在宏定义的替换的过程中,#号可以作为一个预处理运算符,把宏参数转换为字符串。##运算符则可以把两个宏参数组合在一起。下面就来说说具体的用法
    的头像 发表于 12-19 12:54 4607次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>-#和##的具体<b class='flag-5'>用法</b>

    c语言中逻辑真等价于什么

    语言中,条件表达式的结果只能是真(非零)或假(零)。如果条件满足,即条件结果为真,则可以执行相应的代码块或完成特定的操作。相反,如果条件不满足,则执行其他代码块或采取其他操作。 在C语言中,逻辑真被广泛用于
    的头像 发表于 11-30 14:10 1902次阅读

    c语言中decimal的含义

    C语言中的“decimal”是一种数据类型,用于表示十进制数字。在C语言中,常用的数据类型有整数类型(int)、浮点类型(float和double)、字符类型(char)等,而deci
    的头像 发表于 11-30 10:57 2204次阅读

    c语言中a++是什么意思

    C语言中,a++是一个自增运算符,用于对a的值进行自增操作。它是一个简化的表达式,相当于将a的值加1,并返回自增前的值。 C语言中,自增运算符有两种形式:前自增和后自增。a++属于后
    的头像 发表于 11-26 09:19 1.7w次阅读

    C语言中数组的用法

    C语言的数组是一种数据结构,它可以存储多个相同类型的数据,例如整数,字符,浮点数等。数组的每个元素都有一个索引,用来表示它在数组中的位置。数组的索引从0开始,也就是说,数组的第一个元素的索引是0,第二个元素的索引是1,以此类推。
    的头像 发表于 11-24 17:48 1203次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言中</b>数组的<b class='flag-5'>用法</b>

    c语言中数组怎么定义

    C语言中,数组是一种用来存储相同类型元素的数据结构。它可以存储多个元素,并通过一个共同的名称来引用这些元素。数组是一种很重要的数据结构,可以用于解决很多实际的问题。 在C语言中,定义数
    的头像 发表于 11-24 10:11 2744次阅读

    \0在c语言中怎么用

    是由贝尔实验室的Dennis Ritchie为了开发UNIX操作系统而设计的。它在20世纪70年代初首次出现,并迅速流行起来。C语言以其简洁、高效、低级别的特性成为了广泛使用的编程语言。 二、基本语法 注释 在
    的头像 发表于 11-24 09:59 2961次阅读

    scanf在C语言中的作用

    scanf在C语言中的作用  scanf是C语言中的输入函数,用于从标准输入设备(如键盘)读取数据,并将其存储到变量中。它是C
    的头像 发表于 11-23 14:13 1233次阅读

    C语言中如何实现注释

    C语言中,注释是用来增加代码可读性和注释过程和功能的文本。C语言中支持两种类型的注释:单行注释和多行注释。 单行注释以双斜杠(//)开始,直到该行结束。该注释语句可以在代码的任何位置
    的头像 发表于 11-22 10:17 1184次阅读

    c语言在while中嵌套if循环

    中嵌套if语句的用法和好处。 一、C语言中的while循环和if语句 在开始我们深入探讨while循环中嵌套if语句的细节之前,让我们首先回顾一下while循环和if语句的基本用法
    的头像 发表于 11-22 10:09 5264次阅读

    C语言中如何使用查表提速

    使用查表提速 一个资深的C语言程序员,基本上不会在自己的主循环里搞什么复杂的运算工作,绝对都是先计算好了,再到循环里查表。看下面的例子: 旧代码: long factorial ( int i
    的头像 发表于 11-21 11:19 850次阅读

    C语言for循环的用法和注意事项

    C 语言是一种广泛使用的编程语言,它具有简洁、高效、灵活的特点。C 语言中有很多控制流程的语句,其中 for 循环是一种常见的循环结构,可以
    的头像 发表于 11-20 18:27 2158次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>for循环的<b class='flag-5'>用法</b>和注意事项