c语言中return的各种用法 建议收藏

2023-05-16

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

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

为调用的函数返回参数值

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

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

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

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

提前结束函数

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

返回一个函数

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

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

d26769d5fc8549228c0b67c6053d1fd7.png

今日学习寄语:

1、最累的时候,家人是你最好的归宿。

  2、程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的。

  3、编程是一种单调的生活,因此程序员比普通人需要更多的关怀,更多的友情。

  4、程序不是年轻的专利,但是,他属于年轻。

  5、没有情调,不懂浪漫,也许这是程序员的一面,但拥有朴实无华的爱是他们的另一面。

  6、一个好汉三个帮,程序员同样如此。

  7、一个100行的代码调试都可能会让程序员遇到很多挫折,所以,面对挫折,我们永远不能低头。

  8、调试完一个动态连接函数,固然值得兴奋,但真正的成功远还在无数个函数之后。

  9、程序是我的生命,但我相信爱她甚过爱我的生命。

  10、信念和目标,必须永远洋溢在程序员内心。

  11、就算我们站在群山之颠,也别忘记雄鹰依旧能从我们头顶飞过。骄傲是比用Java进行底层开发更可笑的东西。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c语言中return的各种用法 建议收藏 的相关文章

  • 银行家算法原理

    银行家算法原理
  • python 深度学习[数学基础-1-函数,极限]

    文章目录 函数 函数
  • python 深度学习-数学基础-2-导数

    z z的变化值比上距离的极限
  • python 深度学习-数学基础-3-微积分

  • rt-thread CAN通信(can dev write data failed!)解决,硬件定时器、以及CANfestival包的使用

    本文采用正点原子STM32f407ZGT6探索者 关于rtt的CAN通信配置可以参考RT Thread studio 添加CAN通信功能 按上面配置完成后串口会打印下图所示问题 xff1a xff08 can dev write data
  • (二)STM32串口总结(库函数版)

    一 STM32F103有两个串口 图中 TXD RXD 是相对 CH340G 来说的 xff0c 也就是 USB 串口的发送和接收引脚 而 USART1 RX 和 USART1 TX 则是相对于 STM32F103ZET6 来说的 也就是说
  • Matlab画图 线条的颜色、宽度等相关设置

    线条的属性有 xff1a Color 颜色 LineWidth 线条宽度 LineStyle 线型 LineJoin 线条边角的样式 AlignVertexCenters 锐化垂直线和水平线 线条属性的默认值为 0 0 0 39 39 39
  • 一、图像预处理

    四种图像的基本数据结构 xff1a Image 指Halcon的图像类型 Region 指图像中的一块区域 XLD 指图像中某一块区域的轮廓 Tuple 类似于数组 xff0c 用于存储一幅或多幅图像 内核矩阵的选择 xff1a 核越大越模
  • halcon边缘检测

    边缘检测 Ronny丶 博客园 寻找边缘的传统方法 xff0c 即图像中的暗 光转换 xff0c 是应用边缘滤波器 这些滤光器可以在光和暗区域的边界找到像素 从数学术语中来说 xff0c 这意味着这些滤波器决定了图像的梯度 此图像渐变通常作
  • ZED双目摄像头

    ZED stereol abs 配置踩过的坑 现在种树也不晚 博客园 介绍 xff1a CUDA CUDA 是 ZED SDK 使用的 NVIDIA 库 xff0c 用于在显卡上运行快速 AI 和计算机视觉任务 在 ZED SDK 安装过程
  • linux---五种高级IO模型

    阻塞IO模型非阻塞IO模型信号驱动IO模型异步IO模型多路转接IO模型高级IO重要概念 阻塞IO模型 在内核将数据准备好 xff0c 系统调用会一直等待 xff0c 所有的套接字默认都是阻塞IO方式 阻塞IO是最常见的IO模型 非阻塞IO模
  • Ubuntu错误处理集

    1 W GPG 错误 xff1a https developer download nvidia com compute cuda repos ubuntu1604 x86 64 Release 由于没有公钥 xff0c 无法验证下列签名
  • Linux下配置虚拟CAN

    1 加载vcan模块 sudo modprobe vcan 2 添加vcan0网卡 sudo ip link add dev vcan0 type vcan 3 查看当前CAN网络 ifconfig a 4 开启vcan0 sudo ip
  • ROS基础

    一 ROS的核心概念 节点 xff1a 节点管理器 xff1a 话题 xff1a 消息 xff1a 服务 xff1a 参数 xff1a 二 命令行工具的使用 命令行工具都是以ros开头的 常用命令 rostopicrosserviceros
  • Linux下编译Opencv和contrib

    1 安装准备 1 1 安装依赖项 sudo apt get install cmake sudo apt get install build essential libgtk2 0 dev libavcodec dev libavforma
  • YOLOv5和YOLOv7环境(GPU)搭建测试成功

    本来是用doc写的 xff0c 直接复制到这里很多图片加载缓慢 xff0c 我直接把doc上传到资源里面了 xff0c 0积分下载 xff1a 10条消息 YOLOv5和YOLOv7开发环境搭建和demo运行 Python文档类资源 CSD
  • 单片机通信总述——理论部分(CAN、串口、SPI、I2C等)

    一 基础概念 1 1 通信方法 并行通信 xff1a 传输原理 xff1a 数据各个位同时传输 xff1b 优点 xff1a 速度快 xff1b 缺点 xff1a 占用引脚资源多 是指使用 8 16 32 及 64 根或更多的数据线 有多少
  • Ubuntu系统搭建

    一 创建环境常见问题 1 1 windows11下打开虚拟机蓝屏问题 参考这篇文章 xff0c 控制面板 xff0c 启用和关闭windows功能 xff08 对话框 xff09 113条消息 VMware安装Ubuntu开启蓝屏解决方案
  • J-Link工具查看单片机内存等信息

    1 打开下图应用 2 输入 connect xff08 连接开发板 xff09 AC78013FDLA xff08 你的单片机型号 xff09 SWD xff08 仿真器接口 xff09 1000HZ xff08 接口速度 xff09 连接
  • Qt调用ffmpeg动态库和静态库及编译ffmpeg的方法

    一 编译 二 引入ffmpeg库文件 1 Qt工程下创建lib文件夹 xff0c lib文件夹下再创建ffmepg文件夹 2 将编译好的ffmpeg里面的include 和lib文件夹粘贴到如下文件夹下 xff08 3 xff09 在 pr

随机推荐

  • autoware花屏重影问题

    autoware 安装 花屏 重影问题 最近尝试下autoware来做建图 xff0c 无奈各类安装太过麻烦 xff0c 这里给几个小问题做下纪律 1 xff0c 安装过程 xff0c 走的官网那个 xff0c 事实证明官网教程最全面 xf
  • linux---select,poll,epoll的原理以及优缺点

    多路转接IO xff08 也叫IO多路复用 xff09 是一种处理高并发的IO事件监控 xff0c 同时对大量的描述符进行时间监控 xff0c 监控是否具备IO条件 就绪 xff1a 包括了读就绪事件 xff08 就是有数据到来的时候 xf
  • DTAM实现

    DTAM实现 这里是实现github上DTAM的一次记录 xff0c 主要是有些步骤的记录 需要下载的源码 xff08 可以多试试几个 xff0c 按照实现可能性排序 xff09 xff1a https github com Teddybe
  • jetson镜像克隆到固态再扩容简单方法

    jetson克隆方法很多 xff0c 我是自己把之前的sd镜像克隆做成img镜像了 然后烧写后之前是64g的后续烧写都是64g的不能把新的储存设备占满 这里有一个扩容和移植到固态的方法 主要分三步 xff1a 镜像克隆和烧录到sd卡使用固态
  • Orb_slam3 ROS ,D435i使用,ubuntu编译小记

    C 43 43 版本编译 先官网下载代码 xff0c 并下载安装官网所述安装包 git clone https github com UZ SLAMLab ORB SLAM3 git ORB SLAM3 下载完编译c 43 43 版本 cd
  • d455双目相机联合IMU标定

    感谢这两位博主的优秀文章 xff1a RealSense D455的标定并运行VINS FUSION Z Jin16的博客 CSDN博客 d455 标定 Realsense D435I标定 小岛 神酱的博客 CSDN博客 d435i参数 主
  • gitee发布示例

    简易的命令行入门教程 Git 全局设置 git config global user name 34 bnb 34 git config global user email 34 2207201665 64 qq com 34 创建 git
  • linux终端快捷指令创建

    使用这个打开gedit bashrc xff0c 把下面的按照下面的格式书写 xff1a alias lt 想要的快捷键 gt 61 操作指令 示例 xff1a alias sd 61 39 source devel setup sh 39
  • 使用vscode做得基础配置自动保存格式化

    vscode默认启用了根据文件类型自动设置tabsize的选项 34 editor detectIndentation 34 false 重新设定tabsize 34 editor tabSize 34 2 每次保存的时候自动格式化 34
  • OOQP 使用教程 c++

    最近学习了一下OOQP的使用在这里记录一下 在matlab代码中是quadprog xff0c 而这次使用OOQP也主要是为了计算二次规划问题 安装OOQP 首先是安装问题 xff0c 不得不说 xff0c 当时安装也花了不少时间 xff0
  • 物联网工程 | CAN(Controller Area Network)控制器局域网络答疑

    文章目录 概述一 CAN的物理设备二 CAN的物理传输三 CAN的多设备连接四 CAN编程 概述 本节以问答方式讲述CAN相关的一些疑点问题 一 CAN的物理设备 问 xff1a CAN需要什么样的物理设备支持才能算一个CAN网络 系统 x
  • 【无标题】

    前言 对于喜欢逛CSDN的人来说 xff0c 看别人的博客确实能够对自己有不小的提高 xff0c 有时候看到特别好的博客想转载下载 xff0c 但是不能一个字一个字的敲了 xff0c 这时候我们就想快速转载别人的博客 xff0c 把别人的博
  • VSCode中针对C语言的代码格式化配置

    默认格式化工具 打开设置 Ctrl 43 xff0c 选择 用户 配置 xff0c 找到 文本编辑器 Default Formatter xff1a 安装了C C 43 43 插件后 xff0c 即可选择 xff1a C C 43 43 m
  • 总结的常用的前端开发中的常见套路之购物车页面

    1 商品的全选和全不选 获取页面中全选框所在的input xff0c 绑定其变change事件获取全选框的状态遍历获取商品对应的CheckBox xff0c 设置其选中状态和全选的保持一致同时 xff0c 当全选框状态发生变化时 xff0c
  • restframework权限,认证,限流配置

    认证Authentication DRF框架的默认全局认证方案如下 REST FRAMEWORK 61 39 DEFAULT AUTHENTICATION CLASSES 39 39 rest framework authenticatio
  • seek()方法的使用

    seek xff08 xff09 方法的使用 seek 方法用于移动文件读取指针到指定位置 file seek 方法标准格式是 xff1a file seek offset whence offset xff1a 开始的偏移量 xff0c
  • 为什么QQ用的是UDP协议而不是TCP协议?

    QQ既有UDP也有TCP xff01 不管UDP还是TCP xff0c 最终登陆成功之后 xff0c QQ都会有一个TCP连接来保持在线状态 这个TCP连接的远程端口一般是80 xff0c 采用UDP方式登陆的时候 xff0c 端口是800
  • 五分钟读懂TCP 协议——TCP协议简介

    TCP 是互联网核心协议之一 xff0c 本文介绍它的基础知识 一 TCP 协议的作用 互联网由一整套协议构成 TCP 只是其中的一层 xff0c 有着自己的分工 xff08 图片说明 xff1a TCP 是以太网协议和 IP 协议的上层协
  • JSON模块基本使用

    usr bin python3 coding utf 8 import json json loads 把json字符串转成 python 对象 json string 61 39 39 39 34 a 34 34 x 34 34 b 34
  • c语言中return的各种用法 建议收藏

    按初学的理解 xff0c return的任务就是返回对应的参数 xff0c 在外层函数中对这个参数做进一步处理 实际上return的用法不只这些 为调用的函数返回参数值 此类应用最为普遍 xff0c 通常是在一个具有返回值的函数中 xff0