【C语言进阶】:从定义、调用函数到递归与数组传参

发布时间:2026/8/1 6:03:35

【C语言进阶】:从定义、调用函数到递归与数组传参
五、函数函数是C语言程序的基本构建块它能够降低程序的耦合性关联度减少重复代码让程序模块化增强代码的复用性。1. 函数定义函数的具体实现返回值 函数名形参表 { 函数体 }返回值类型说明符如int、char等基本数据类型、构造数据类型或void空类型不需要返回任何结果用于返回函数最终结果。函数名遵循标识符的命名规则见名知意。形参表函数执行过程中需要用到的条件。形式数据类型 形参名, 数据类型 形参名...2. 函数的调用函数名实参表实参表传递给函数的具体的条件。形式值1, 值2...注意实参的个数和形参的个数必须一致实参和形参数据类型要一致或者相兼容实参和形参名字可以相同也可以不相同函数不被调用则不执行调用几次执行几次。函数名(实参表);表达式的结果是函数的返回值类型。当函数的返回值有一个明确的返回类型时必须要return如果不return系统会返回一个随机值。void返回值类型时可以不return或者直接写return ;。主调函数调用函数的函数称为主调函数如main被调函数被调用的函数3. 函数的声明声明的作用当被调函数定义在了主调函数的后边编译器报“implicit declaration”可以将该函数在主调函数前面进行声明多文件使用函数的时候需要对其声明允许其他文件调用。语法返回值 函数名形参表4. 函数的调用过程保护现场当函数要被执行调用时会将函数调用位置的下一条指令地址保存在栈空间恢复现场当被调函数执行完时通过出栈保护现场的地址决定CPU继续执行的位置在函数被调用的下一条指令位置。5. 函数的传参函数传参的过程其实是实参向形参拷贝的过程实参有实参的空间形参有形参的空间值传递值传递在被调函数中无法修改主调函数中的变量函数传参的顺序自右向左。6. 函数的递归调用递归调用函数直接或者间接的调用自己。本质循环方式。注意递归要有递归的出口否则会成为死循环。递归调用系统开销比循环大比如栈内存。示例代码//求1-n的和 int get_sum(int num) { if(1 num) { return 1; } return get_sum(num - 1) num; } //求斐波那契数 int fibonacci(int n) { if(1 n || 2 n) { return 1; } return fibonacci(n - 1) fibonacci(n - 2); } //求阶乘 int factorial(int n) { if(1 n || 0 n) { return 1; } return factorial(n - 1) * n; }7. 函数和一维整形数组传参方式//定义 返回值 函数名int 数组名[], int len { // sizeof(数组名); ----》sizeof(int *) ----8字节 函数体 } //调用 函数名(数组名, 数组长度); void print_array(int a[], int len) { // 函数体 } print_array(a, len); // 数组的数组名是数组的首元素地址注意数组作为函数参数传递时形参必须要是数组类型int a[][]中的常量可以有也可以省略。数组作为函数参数传递时本质传递的是数组首元素地址所以形参本质上是一个地址是数组的起始地址。由于数组名传参本质传递的是首地址所以必须要传递整形数组的长度。数组作为函数参数传递给被调函数后函数内部的使用方法和外面使用一样除了sizeof(数组名)。

相关新闻

电机拉马使用指南:无损更换电机齿的专业方法与实操流程

电机拉马使用指南:无损更换电机齿的专业方法与实操流程

2026/8/1 6:03:35

电机齿,这个在模型车、无人机、机器人等机电设备中看似不起眼的小零件,却常常是性能提升或故障修复的关键。你是否遇到过电机空转、动力传递失效,或者想升级动力系统却对更换电机齿一筹莫展的情况?很多人以为这只是个简单的“拧螺…

Claude Code 完整入门教程

Claude Code 完整入门教程

2026/8/1 6:03:35

摘要:本文是一篇面向零基础小白的 Claude Code 完整入门教程。文章从模型、Chatbot、Agent、API Key、Token、上下文窗口、Skill 到 MCP 等核心概念扫盲入手,然后以 Windows 为例逐步讲解 Git Bash、Node.js 和 Claude Code 的安装配置,最后详…

信号与系统期末复习指南:核心知识点与应试技巧

信号与系统期末复习指南:核心知识点与应试技巧

2026/8/1 5:53:35

1. 项目概述作为一名信号与系统课程的教学助理,我整理了这份期末复习指南,希望能帮助同学们高效备考。这份资料涵盖了课程核心知识点、典型题型解析和应试技巧,特别适合考前两周集中突破使用。信号与系统作为电子信息类专业的基础课程&#x…

3分钟快速上手:Windows桌面透明悬浮浏览器终极指南

3分钟快速上手:Windows桌面透明悬浮浏览器终极指南

2026/8/1 7:23:38

3分钟快速上手:Windows桌面透明悬浮浏览器终极指南 【免费下载链接】glass-browser A floating, always-on-top, transparent browser for Windows. 项目地址: https://gitcode.com/gh_mirrors/gl/glass-browser 你是否曾经在写代码时需要查看API文档&#x…

纸尿裤生产

纸尿裤生产

2026/8/1 7:23:38

提高纸尿裤生产线设备稳定性,需要从机械结构、电控系统、原材料适配、操作规范和维护保养五个方面同时入手。稳定性不是单一配置决定的,而是整线设计、调试质量和日常管理共同作用的结果。一、设备稳定性为什么重要纸尿裤生产线是连续生产设备&#xff0…

Python猴子补丁:运行时动态修改代码的实战指南

Python猴子补丁:运行时动态修改代码的实战指南

2026/8/1 7:23:38

1. 项目概述:为什么我们需要“猴子补丁”?在Python开发中,你肯定遇到过这样的场景:正在使用一个第三方库,但它的某个方法行为不符合你的预期,或者缺少一个你急需的功能。直接修改库的源代码?这会…

3分钟搞定BetterNCM安装:网易云音乐插件管理终极指南

3分钟搞定BetterNCM安装:网易云音乐插件管理终极指南

2026/8/1 7:23:38

3分钟搞定BetterNCM安装:网易云音乐插件管理终极指南 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐插件安装的复杂步骤而烦恼吗?BetterNCM安…

家用宠物恒温舱人机交互屏,低价稳定选型思路

家用宠物恒温舱人机交互屏,低价稳定选型思路

2026/8/1 7:23:38

做宠物智能恒温舱、宠物烘干箱、寄养宠物护理舱研发和采购的同行,想必都懂行业最现实的痛点:宠物智能设备属于大众消费类量产产品,市场内卷极其严重,整机定价透明,每一项物料成本都直接决定最终利润空间,显…

自学C语言第七天:函数真是个好东西,改一处顶十处

自学C语言第七天:函数真是个好东西,改一处顶十处

2026/8/1 7:13:38

自学C语言第七天,正式进入函数的学习。最大的感受是——函数写好了,主函数就轻松了,改代码的时候只需要动被调函数,主函数那边几乎不用动,太高效了。今天的内容是函数,从定义到调用、声明、传参、递归调用&…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/30 9:53:22

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/8/1 0:15:49

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/8/1 4:47:48

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/1 0:03:03

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/1 0:03:03

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/1 0:03:03

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/1 0:03:03

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/1 0:03:03

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/1 0:03:03

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…