【c 语言】函数前面的返回类型

在这里插入图片描述

🎈个人主页:豌豆射手^
🎉欢迎 👍点赞✍评论⭐收藏
🤗收录专栏:C语言
🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步!

【c 语言】函数前面的返回类型

    • 一 概念
    • 二 类比
  • 总结

在这里插入图片描述

一 概念

在C语言中,函数前面的返回类型(也称为函数类型)指定了该函数在执行完毕后返回给调用者的值的类型。当你定义一个函数时,你需要明确指定它返回什么类型的值,这样编译器才能知道如何处理函数的返回值,并在调用该函数时为其返回值分配正确的存储空间。

例如,在以下函数定义中:

int add(int a, int b) {return a + b;
}

int就是该函数的返回类型。它表示这个函数会返回一个整数值。当你调用这个函数时,比如int sum = add(3, 4);,编译器会期望add函数返回一个整数,并将这个整数值赋给变量sum

如果函数不返回任何值,你可以使用void作为返回类型,例如:

void printHello() {printf("Hello, world!\n");
}

在这个例子中,printHello函数没有返回值,所以它的返回类型是void。调用这个函数时,你不需要(也不能)接收一个返回值。

在函数定义中指定返回类型有助于编译器进行类型检查,确保你在使用函数时正确地处理其返回值。如果函数声明了返回类型,但在函数体中没有相应的返回语句(除了void类型的函数),或者返回了错误类型的值,编译器会报错。这有助于捕获潜在的编程错误。

二 类比

在现实生活中,我们可以将函数类比为一家餐厅的服务流程,而函数的返回类型则可以类比为这家餐厅提供给顾客的菜品类型。

想象一家专门做汉堡的餐厅。这家餐厅的服务流程(即“函数”)就是根据顾客的订单制作汉堡。这个服务流程有一个明确的“返回类型”,那就是汉堡。无论顾客点的是哪种汉堡(比如牛肉汉堡、鸡肉汉堡等),餐厅都会按照订单制作并返回相应类型的汉堡给顾客。

在这个类比中:

  • 函数的返回类型:就像餐厅提供的汉堡类型,它告诉顾客和餐厅员工这家餐厅主要提供什么。
  • 函数的返回值:就像顾客实际拿到的汉堡,它是服务流程(函数)的结果。
  • 函数的参数:就像顾客点餐时告诉服务员的要求(比如要加什么配料、要几分熟等),它们用于定制函数的行为。

现在,如果我们把这家餐厅想象成一家多元化的餐厅,而不仅仅是做汉堡的。那么这家餐厅的“返回类型”就可能是一个更广泛的类别,比如“食物”。根据顾客的不同订单,餐厅可能返回披萨、寿司、意面等各种类型的食物。这就好比一个函数,根据传入的参数不同,返回不同类型的值。

同样地,如果这家餐厅不提供任何食物,而是提供娱乐服务(比如KTV),那么它的“返回类型”可能就是“娱乐体验”,而不是食物。这就好比一个返回类型为void的函数,它不返回任何具体的值,而是提供某种服务或执行某种操作。

通过这个类比,我们可以更容易地理解函数返回类型在编程中的意义:它定义了函数能够“返回”给调用者的“产品”类型,帮助调用者正确地使用和处理这个“产品”。

总结

这篇文章到这里就结束了

谢谢大家的阅读!

如果觉得这篇博客对你有用的话,别忘记三连哦。

我是豌豆射手^,让我们我们下次再见

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/619344.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构(六)】队列

❣博主主页: 33的博客❣ ▶️文章专栏分类:数据结构◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你学更多数据结构知识 目录 1.前言2.概念3.队列的使用4.循环队列5.双端队列6.经典习题6.1队列实现栈6.2栈实现队…

Windows Edge 兼容性问题修复:提升用户体验的关键步骤

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

【设计模式】聊聊观察者设计模式原理及应用

原理 观察者模式属于行为模式,行为模式主要解决类和对象之间交互问题。 含义:在对象之间定义一个一对多的依赖,当一个对象状态改变时,所有依赖的对象会自动通知。 被依赖的对象被观察者(Observable) ,依赖的对象观察…

MCU最小系统的电源模块设计和复位模块的设计

最小操作系统就是一个电路,这个电路里面必须要的东西(如人需要喝水吃饭温度等情况,才能或者) 现在我们要解决这三个问题 这里V开头的,都是电源管脚 这里解释一下: 这里要注意哪些是电路电压,哪…

API接口京东开放平台item_get-获得京东商品详情API接口根据商品ID查询商品标题价格描述等详情数据

京东商品详情API接口可以提供以下方面的信息: 商品基础信息:包括商品的标题、价格、描述、图片等基本信息,这是构建电商平台的基础数据。商品分类信息:帮助用户更好地了解商品所属的类别,便于商品筛选和查找。商品销售…

YOLOv5目标检测优化点(添加小目标头检测)

文章目录 1、前言2、如何计算参数3、YOLOv5小目标改进-13.1、结构文件3.2、结构图3.3、参数对比3.3.1、yolov5l.yaml 解析表3.3.2、 yolov5l-4P.yaml 解析表 4、YOLOv5小目标改进-24.1、结构文件4.2、结构图 5、YOLOv5小目标改进-35.1、结构文件 6、YOLOv5小目标改进-46.1、结构…

云服务器安装Mysql、MariaDB、Redis、tomcat

前置工作 进入根目录 cd / 进入/user/local文件夹 上传压缩包 rz 压缩包 Mysql 1.下载并安装MySQL官方的 Yum Repository wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-…

[Android]申请成为Google Play个人开发者

1.注册Google邮箱 2.进入play.google.com选择成为“企业”或是“个人”开发者 https://play.google.com/console 3.选择成为个人开发者 这里会提示你申请的所需条件。有告诉我们,后面需要支付$25。 继续的话,要求填写一个开发者名称。 4.创建付款信息…

cannot import name ‘get_host‘ from ‘urllib3.util.url‘

Error in py_module_import(module, convert convert) : ImportError: cannot import name get_host from urllib3.util.url (D:\\url.py) Run reticulate::py_last_error() for details. 这个错误表明在 urllib3 模块的 util.url 子模块中找不到名为 get_host 的函数。这可能…

康耐视visionpro-CogFindCircleTool操作工具详细说明

◆CogFindCircleTool]功能说明: 通过用多个卡尺找到多个点来拟合所要找的圆 ◆CogFindCircleTool操作说明: ①.打开工具栏,双击或点击鼠标拖拽添加CogFindCircleTool工具 ②.添加输入图像,右键“链接到”或以连线拖拽的方式选择相应输入源 ③预期的圆弧:设置预期圆弧的…

Linux gcc 6

本章开始学习工具 什么是工具? 本质也是指令 yum 命令 小火车 sudo yum install sl(安装sl) sudo yum install -y sl //直接yes就不提示了 yum list //将yum源上的软件都穷举出来 yum search sl //结果不友好,不推荐 yum lis…

Tomcat源码解析——Tomcat的启动流程

一、启动脚本 当我们在服务启动Tomcat时,都是通过执行startup.sh脚本启动。 在Tomcat的启动脚本startup.sh中,最终会去执行catalina.sh脚本,传递的参数是start。 在catalina.sh脚本中,前面是环境判断和初始化参数,最终…