深入剖析嵌套调用和链式访问,以及函数的声明和定义(超全面覆盖)
1. 前情提要
在上一篇博客中,我们大致了解了函数的种类,以及自定义函数中形参和实参的具体区别
我们知道实参是需要传递给形参的,但其实形参和实参占据的是完全独立的内存空间
x,y在执行过程中会得到a和b的值,但是x,y的地址和a与b的地址是不一样的,所以我们可以理解为形参相当于实参的一份临时拷贝(实参的值复制到形参里面,然后按照函数体里面规定的形参的算法,最后得出了运算结果)
2. 深入理解return语句
return,顾名思义,为返回的意思,我们最常见到的就是在main函数的结尾会出现一个return 0;
return后面可以是一个数值,也可以是一个表达式,如果是表达式的话,那么就会悠闲执行表达式的结果了
return后面同样可以什么都不写,不写就代表没有返回值,这种写法对应的自然就是函数返回类型是void的情况了
return的返回值和函数的返回类型是不一致的话,系统会自动将return的返回值转换为函数的返回类型,使得这个函数能顺利执行下去,当然,在平时的话,我们自然需要更加的注意尽量不要犯这种错误
注意:一旦return语句执行完毕,该函数就会彻底返回,后面的代码全部不会执行
如果函数里面存在if,Switch等分支语句的话,那么就需要保证每种情况都有return返回,否则就会出现编译错误
3. 数组传参
我们在使用函数的时候,经常会遇到需要将数组作为函数的参数传递给函数,在函数的内部对数组进行操作
我们下面就来进行一个小练习
假设我们需要写一个函数将数组里面的内容全部打印出来
在写关于数组的函数之中,有一个非常重要的思想就是先要遍历数组,也就是能够获取到数组里面的每一个元素

通过for循环得到每一个数组的下标,然后就可以访问到数组里面的每一个元素了,这就是遍历数组的基本思想
4. 嵌套调用和链式访问
4.1 嵌套调用
嵌套调用就是函数之间的相互调用,在我们后期想要写出一个小程序或者是小游戏的话,一定是存在多个函数互相调用的情况,不可能一个函数就能解决所有的问题
我们常说的库函数在主函数里面被应用,实际上就是一个函数嵌套调用的情况了,具体的我们后期再具体介绍对于函数嵌套的各个小练习
相关文章:
深入剖析嵌套调用和链式访问,以及函数的声明和定义(超全面覆盖)
1. 前情提要 在上一篇博客中,我们大致了解了函数的种类,以及自定义函数中形参和实参的具体区别 我们知道实参是需要传递给形参的,但其实形参和实参占据的是完全独立的内存空间 x,y在执行过程中会得到a和b的值,但是x…...
浏览器百科:网页存储篇-IndexedDB介绍(十)
1.引言 在现代网页开发中,数据存储需求日益增多和复杂,传统的客户端存储技术如localStorage和sessionStorage已难以满足大型数据的存储和管理需求。为了解决这一问题,HTML5 引入了 IndexedDB,在本篇《浏览器百科:网页…...
Java语言程序设计基础篇_编程练习题*18.22 (将十进制數转换为十六进制数)
题目:*18.22 (将十进制數转换为十六进制数) 编写一个递归方法,将一个十进制数转换为一个十六进制数的字符串。方法头如下: public static String dec2Hex(int value)编写一个测试程序,提示用户输入一个十进制数,然后显示等价的十…...
蓝桥杯3. 压缩字符串
题目描述 实现一个算法来压缩一个字符串。压缩的要求如下: 需要判断压缩能不能节省空间,仅在压缩后字符串比原字符串长度更短时进行压缩。 压缩的格式是将连续相同字符替换为字符 数字形式,例如 "AAABCCDDDD" 变为 "A3BC2D…...
Java设计模式之责任链模式详细讲解和案例示范
在本文中,我们将详细讲解Java设计模式中的责任链模式,探讨其基本概念、使用场景、常见问题和解决方式。同时,我们还会介绍责任链模式与策略模式的区别,并结合电商交易系统的示例进行说明。此外,我们还会探讨责任链模式…...
ubuntu_如何解决apt install时报错:Waiting for cache lock: Could not get lock
当你在 Ubuntu 上运行 apt 时,遇到类似 Waiting for cache lock: Could not get lock 错误,通常是因为另一个进程正在使用 apt 或者类似的包管理器工具。你可以按照以下步骤来查找并解决这个问题: 1. 查询哪个进程正在使用锁 系统中的锁文件…...
软件测试(D5)
步骤: 设计测试-->发现缺陷-->测试报告 Day1 target 1.复述软件测试的定义 2.7种软件测试分类的区别 3.质量模型的重点5项 4.测试流程的6个步骤 5.测试模板的8个要素 认识软件及测试 软件: 控制硬件的工具 应用软件系统软件࿰…...
CSS 圆角渐变边框
<div class"contact-box"><div class"contact-item">联系我们</div> </div>.contact-item{width: 194px;height: 48px;border-radius: 20px 20px 20px 20px;background-color: #000000;color: #BDBDBD;font-weight: 500;font-size…...
骑砍2霸主MOD开发(26)-使用TrfExporterBlender制作TRF文件
一.Blender导入TRF文件 import bpytrf_meshes = []trf_contents = []trf_import_path = D:\pt_ladder.trftrf_export_path = D:\pt_ladder_morph_keys.trfclass TrfMesh:def __init__(self):self.mesh_name = self.mesh_materials = []self.vertex_cnt = 0self.vertex_fvf_cnt…...
Leetcode 最大子数组和
使用“Kadane’s Algorithm”来解决。 Kadane’s Algorithm 在每个步骤中都保持着一个局部最优解,即以当前元素为结尾的最大子数组和(也就是局部最优解),并通过比较这些局部最优解和当前的全局最优解来找到最终的全局最优解。 Kadane’s Algorithm的核…...
目标检测-YOLOv2
YOLOv2介绍 YOLOv2(You Only Look Once version 2)是一种用于目标检测的深度学习模型,由Joseph Redmon等人于2016年提出,并详细论述在其论文《YOLO9000: Better, Faster, Stronger》中。YOLOv2在保持高速检测的同时,显…...
大数据 - OLAP与OLTP的区别
前言 联机事务处理OLTP(on-line transaction processing)和 联机分析处理OLAP(On-Line Analytical Processing)。 OLTP,主要是面向传统的“增删改查”事务系统,数据大都是以实体对象模型来存储数据&#…...
win10+eclipse+ESP8266_RTOS_SDK开发环境构建
官网教程 https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/eclipse-setup.html 1. 导入工程 Build and Flash with Eclipse IDE — ESP8266 RTOS SDK Programming Guide documentation (espressif.com) 导入整个SDK,便于查看所有代…...
树形弹窗选择框/vue2/Element/弹框选择
前言 此类选择器根据vueelementUI实现,使用vue3的可以根据此案例稍作改动即可实现,主要功能有弹出选择、搜索过滤、搜索结果高亮等,此选择器只支持单选,如需多选可在此基础进行改造。 效果图 代码实现 使用时,props-…...
Python精选200Tips:121-125
Spend your time on self-improvement 121 Requests - 简化的 HTTP 请求处理发送 GET 请求发送 POST 请求发送 PUT 请求发送 DELETE 请求会话管理处理超时文件上传122 Beautiful Soup - 网页解析和抓取解析 HTML 和 XML 文档查找单个标签查找多个标签使用 CSS 选择器查找标签提…...
对接后端download接口报未知异常错误
你一定遇到过这种情况,在一个项目中下载功能明明好好的,下载接口调用方法与前端调用方法封装的好好的,可是换了一个接口,竟然搞罢工了,类似下面这样的,你会不会无从下手,不知道该怎么办呢&#…...
vue3 指定元素全屏 screenfull(可直接粘贴使用)
业务需求 由于输入的文字较多,需要将输入框进行全屏展示,方便输入和查看! 效果图 实现方式 下载插件"screenfull": “^6.0.2” yarn add screenfull -S项目中使用 import screenfull from "screenfull"templte中代码…...
【规范】Git Commit 约定式提交规范
文章目录 前言介绍使用约定式提交规范的好处提交信息格式信息头部(Header)正文(Body)脚注(Footer)撤销(Revert) 提交类型表格官网 前言介绍 约定式提交规范它是一种基于提交信息的轻…...
GDB的基本使用方法(之一)
1.编译程序 如果要让GDB调试程序,则编译生成程序时,要添加-g编译选项: $gcc -Wall -O2 -g 源文件 编译器含有针对源代码中的各种各样的错误输出信息的功能,称为警告选项。这些信息并不一定是错误,但却指出了容易引发bug的编码方式。-Werror选项可以在警告发生时,将其当…...
DoubletFinder去除双细胞分析学习
在单细胞RNA测序过程中,有时两个或多个细胞可能在制备过程中意外结合成一个单一的"假细胞",称为双峰细胞或双倍体。这些双峰细胞可能会扭曲数据分析和解释,因此,需要使用一些方法对它们进行识别和剔除。其中DoubletFind…...
用Obsidian+Templater插件打造你的专属日记系统:从脚本编写到自动归档
用ObsidianTemplater打造全自动日记管理系统:从脚本开发到智能归档 在数字时代,个人知识管理已成为现代人的必修课。当大多数日记应用将你的私人记忆锁在云端服务器时,一种更自主、更灵活的选择正在技术爱好者中流行——用Obsidian配合Templa…...
【Android】CloneTTS最强朗读听书引擎-可克隆一切音色
【Android】CloneTTS最强朗读听书引擎-可克隆一切音色 链接:https://pan.xunlei.com/s/VOsu4mh3O_d7zjeERkKPfcG4A1?pwddi3y# CloneTTS 是一款运行在安卓系统本地的文字转语音(TTS)原生引擎,允许用户离线克隆所需的声音并直接使用该声音来朗读书籍或长…...
保姆级教程:在Ubuntu上配置Lotus基准测试环境(含参数下载与自定义GPU支持)
在Ubuntu上配置Lotus基准测试环境的完整指南 对于Filecoin生态系统的参与者来说,理解网络性能并优化硬件配置至关重要。本文将带您完成在Ubuntu系统上搭建Lotus基准测试环境的全过程,从基础环境准备到高级GPU自定义支持,为您提供一份详尽的实…...
终极指南:如何在macOS上轻松安装KLayout版图设计软件
终极指南:如何在macOS上轻松安装KLayout版图设计软件 【免费下载链接】klayout KLayout Main Sources 项目地址: https://gitcode.com/gh_mirrors/kl/klayout 想要在macOS上安装专业级的集成电路版图设计工具KLayout吗?😊 作为一款功能…...
深入解析PCI中断路由:从硬件引脚到操作系统中断处理的完整链路
1. 项目概述与核心问题在计算机硬件系统里,中断机制是设备与处理器高效通信的生命线。它允许设备在需要处理器服务时,主动“打断”处理器当前的工作流,而不是让处理器不断地去“询问”设备的状态。对于PCI(Peripheral Component I…...
企业邮箱迁移技术方案:从旧邮箱平滑迁移至阿里 / 网易 / 谷歌
前言企业发展过程中,更换企业邮箱服务商属于常见运维需求,不少行政与运维人员担心迁移过程出现邮件丢失、通讯录错乱、收发中断等问题。掌握标准化迁移方案,可实现新旧邮箱无缝过渡,不影响日常商务对接与对内办公。本文分享通用迁…...
Minecraft MASA模组汉化包:打破语言障碍的终极解决方案
Minecraft MASA模组汉化包:打破语言障碍的终极解决方案 【免费下载链接】masa-mods-chinese 一个masa mods的汉化资源包 项目地址: https://gitcode.com/gh_mirrors/ma/masa-mods-chinese 还在为Minecraft中MASA模组的英文界面感到困扰吗?MASA模组…...
OpenClaw用户指南,如何正确配置Taotoken作为其大模型供应商
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 OpenClaw用户指南,如何正确配置Taotoken作为其大模型供应商 对于使用OpenClaw这类Agent框架的开发者来说,接…...
科技赋能林草防火,合规筑牢生态屏障—— 杭兴智能 XHJK‑5000 / HXJK‑6000 系列智慧宣传杆适配 LY/T 2798‑2025 标准实践
森林草原是我国重要的生态资源,守护林草安全、防范火灾风险,是生态文明建设的关键一环。随着《森林草原防灭火条例》深入实施与林业行业标准化建设持续推进,传统人工巡护、静态标语、零散警示等方式,已难以满足新时期 “预防为主、…...
从 XChat 到超级 APP 生态:小程序生态为什么成为了超级APP的最佳技术选型
2026年4月17日,XChat 正式登陆苹果 App Store。 马斯克一直想做一个美国版的微信的目标已经实现:端对端加密、无广告、无追踪,注册只需要一个 X 账号,不需要手机号。马斯克给它的目标也很直接——X 要从社交平台,变成「…...
