C语言函数学习
一、函数核心作用解耦程序拆分重复代码降低代码冗余模块化开发提升代码复用性、可读性与维护性二、函数定义完整实现语法格式返回值类型 函数名(形参列表) { 函数体; }返回值支持int/char/float/double等基础类型、构造类型void空类型函数执行完毕无返回结果可省略return或写return;非void函数必须用return返回对应类型值否则返回随机垃圾值。函数名遵循标识符命名规则建议见名知意多用动宾命名get_max_val、print_star。形参列表格式数据类型 形参名, 数据类型 形参名... 作用函数执行依赖的外部条件仅函数内部有效。三、函数调用基础语法函数名(实参列表);调用规则实参个数、数据类型必须与形参匹配兼容类型也可如 char 传给 int实参与形参名称无强制关联可相同可不同函数不调用则不执行调用多少次就执行多少次函数调用整体是表达式结果为函数返回值传参求值顺序自右向左。概念区分主调函数发起调用的函数如main被调函数被其他代码调用的自定义函数。四、函数声明作用场景自定义函数写在main之后编译器报隐式声明警告需提前声明多文件工程供其他.c文件调用该函数。声明语法返回值类型 函数名(形参列表);末尾分号不可少五、函数调用底层流程保护现场调用函数时将下一条指令地址存入栈记录返回位置执行被调函数内部逻辑恢复现场函数执行完毕取出栈中保存的地址回到主调函数断点继续执行。六、函数传参值传递本质实参向形参拷贝一份数据实参、形参拥有完全独立的内存空间特性被调函数内修改形参不会影响主调函数原始变量图示逻辑main 栈区变量和 fun 栈区变量分属两块内存互不干扰。七、递归函数定义函数直接 / 间接调用自身本质等价循环。必备要求必须设置递归出口终止条件否则无限递归栈溢出优缺点优点代码简洁适合阶乘、斐波那契、树形问题缺点频繁入栈出栈系统内存开销大于普通循环。执行流程递推逐层调用自身直到触发出口回溯从出口逐层返回计算结果合并得到最终值。八、数组作为函数参数定义格式void print_array(int a[], int len){逻辑}核心特性数组名传参本质传递数组首元素地址不是完整拷贝数组形参写法int a[]等价int *asizeof(a)结果为指针大小64 位系统 8 字节无法在函数内计算数组长度必须额外传入数组长度len因为传递地址函数内修改数组元素会直接改变外部原数组外部数组的下标访问逻辑在函数内完全通用。

相关新闻

天津宝坻装配式建筑地坪,快速

天津宝坻装配式建筑地坪,快速

水泥固化抛光让旧地面焕然一新 不少老厂房的水泥地面存在起灰起砂、强度不足的问题,砸掉重新浇筑成本高,水泥固化抛光是性价比很高的改造方案。这种工艺通过固化剂渗透进水泥地面,填充内部孔隙,提升地面整体强度和硬度&#xff0c…

2026/8/1 5:46:56 阅读更多 →
5秒极速转换:B站缓存视频永久保存的完整解决方案

5秒极速转换:B站缓存视频永久保存的完整解决方案

5秒极速转换:B站缓存视频永久保存的完整解决方案 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾为B站收藏的视频突然消失而…

2026/8/1 5:46:56 阅读更多 →
Snipaste:从截图到生产力,打造高效屏幕信息处理工作流

Snipaste:从截图到生产力,打造高效屏幕信息处理工作流

1. 从“截图”到“生产力”:为什么Snipaste值得你花时间如果你还在用微信、QQ或者系统自带的截图工具,然后花时间在画图或者PPT里贴来贴去,那你可能真的错过了太多效率提升的机会。我用了快十年的截图工具,从早期的FastStone Capt…

2026/8/1 5:45:56 阅读更多 →

最新新闻

AD831混频器模块:从原理到实战,射频工程师必备的“信号魔术师”

AD831混频器模块:从原理到实战,射频工程师必备的“信号魔术师”

1. 从“黑盒子”到“信号魔术师”:AD831混频器模块初探如果你玩过收音机,或者拆解过任何无线设备,大概率会看到一个不起眼的金属小方块,上面印着“Mixer”或者类似AD831这样的型号。在很长一段时间里,我对它的认知也停…

2026/8/1 6:32:11 阅读更多 →
OpenClaw技术现状与短视频营销焦虑分析

OpenClaw技术现状与短视频营销焦虑分析

1. 现象观察:短视频平台的技术焦虑营销现状最近半年,各大短视频平台上涌现出大量以"不学OpenClaw就会被淘汰"为主题的营销内容。这些视频往往采用相似的叙事结构:开头展示某企业因技术落后导致业务崩溃的虚构案例,中间插…

2026/8/1 6:32:11 阅读更多 →
C++内省排序实现:混合算法原理与工程实践详解

C++内省排序实现:混合算法原理与工程实践详解

1. 项目概述:为什么我们需要内省排序?在C的世界里,排序是再基础不过的操作。从std::sort到各种自定义比较器,我们每天都在用它。但你是否想过,那个看似简单的std::sort背后,究竟藏着怎样的魔法?…

2026/8/1 6:32:11 阅读更多 →
MATLAB非线性方程求解:符号求解器solve与数值求根利器fzero深度对比

MATLAB非线性方程求解:符号求解器solve与数值求根利器fzero深度对比

1. 从“解方程”到“数值求解”:为什么MATLAB是首选在工程计算和科学研究里,解方程是家常便饭。从电路分析里的基尔霍夫定律方程组,到结构力学里的平衡方程,再到化学反应动力学里的微分方程,本质上都是在寻找让某个函数…

2026/8/1 6:32:11 阅读更多 →
NRF24L01无线模块从入门到精通:硬件选型、配置与实战调试指南

NRF24L01无线模块从入门到精通:硬件选型、配置与实战调试指南

1. 从零认识NRF24L01:它到底是什么,能做什么?如果你玩过Arduino、STM32或者树莓派,想给它们加个无线功能,大概率会听说过NRF24L01这个模块。它价格便宜,几块钱到十几块钱就能买到,但功能却相当强…

2026/8/1 6:32:11 阅读更多 →
Claude 5模型深度解析:从核心能力到工程实践的成本优化指南

Claude 5模型深度解析:从核心能力到工程实践的成本优化指南

1. 项目概述:当“神话”照进现实,Claude 5意味着什么?最近AI圈子里最炸裂的消息,莫过于Anthropic公司推出的Claude 5系列模型了。如果你关注AI前沿,这几天肯定被“Claude 5”、“Opus-4.8”、“登顶Agent Arena”这些词…

2026/8/1 6:31:10 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →