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

相关新闻

Unity 2022 LTS + PICO 4:从零构建你的第一个VR应用全流程指南

Unity 2022 LTS + PICO 4:从零构建你的第一个VR应用全流程指南

1. 项目概述:从零到一,在PICO 4上跑通你的第一个VR世界如果你手头有一台PICO 4,并且对创造沉浸式的虚拟现实体验充满好奇,那么恭喜你,你找到了一个绝佳的起点。很多开发者,包括几年前的我,都是从…

2026/8/1 5:47:56 阅读更多 →
Go语言面试核心:内存管理、并发模型与性能优化深度解析

Go语言面试核心:内存管理、并发模型与性能优化深度解析

1. 项目概述:一份能让你真正“过关”的Go面试指南又到了招聘季,或者你正准备跳槽,打开招聘软件,满屏的“Golang工程师”岗位让人心动,但点开职位要求,心里又有点发虚。那些面试题,有的看着眼熟&…

2026/8/1 5:47:56 阅读更多 →
STM32实现高帧率视频播放:从图像压缩到DMA2D加速的完整实战

STM32实现高帧率视频播放:从图像压缩到DMA2D加速的完整实战

1. 项目概述:当STM32遇上高帧率视频几年前,如果有人告诉我,能用一块核心板只有邮票大小、主频几十兆赫兹的单片机流畅播放高分辨率、高帧率的视频,我肯定会觉得是天方夜谭。但技术的魅力就在于不断打破想象力的边界。今天要聊的这…

2026/8/1 5:46: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 阅读更多 →