嵌入式C语言阶段复习——函数
一、函数的基本概念函数是C语言中用于封装特定功能的代码块具有输入参数和输出返回值。通过函数可以实现代码复用、模块化编程和逻辑分离。函数定义包括返回类型、函数名、参数列表和函数体。int add(int a, int b) { // 返回类型为int函数名为add参数为a和b return a b; // 函数体实现加法 }函数声明原型告诉编译器函数的存在通常放在头文件或代码开头。int add(int a, int b); // 声明函数不包含实现二、函数的参数传递C语言支持两种参数传递方式值传递传递参数的副本函数内修改不影响原始值。void swap(int x, int y) { int temp x; x y; y temp; // 仅修改副本 }指针传递通过指针传递地址可直接修改原始数据。void swap(int *x, int *y) { int temp *x; *x *y; *y temp; // 修改原始值 }三、函数的返回值函数通过return返回值类型需与声明一致。无返回值的函数使用void类型。void printHello() { printf(Hello); }四、递归函数函数调用自身称为递归需包含终止条件以避免无限循环。int factorial(int n) { if (n 1) return 1; // 终止条件 return n * factorial(n-1); // 递归调用 }五、函数指针函数指针指向函数地址可用于动态调用。int (*funcPtr)(int, int) add; // 指向add函数 int result funcPtr(2, 3); // 通过指针调用六、作用域与生命周期局部变量函数内定义仅在函数内有效。静态变量用static修饰生命周期贯穿程序运行。void counter() { static int count 0; // 静态变量 count; printf(%d, count); }

相关新闻

无穿戴动捕:无感交互时代的技术革新与行业赋能

无穿戴动捕:无感交互时代的技术革新与行业赋能

动作捕捉技术历经机械传感、惯性穿戴等发展阶段,已从早期影视特效制作,逐步与虚拟现实、人工智能、数字孪生等技术深度融合,并逐步渗透到体育训练、文化展览、康复医疗等多元领域,成为了连接现实与虚拟的关键纽带,推动…

2026/7/4 22:58:33 阅读更多 →
实测 | FreeBuds 7i新版本默认音效,体验拉满!

实测 | FreeBuds 7i新版本默认音效,体验拉满!

华为FreeBuds 7i新版本更新后,默认音效优化太惊喜!实测几首歌,体验直接拉满。1、《遥远的她》– 张学友 经典老歌中高频细节丰富,张学友的唱腔清晰细腻,人声气声和尾音处理特别到位。 2、《慢慢喜欢你》– 莫文蔚 这首…

2026/7/3 14:28:24 阅读更多 →
云渲染会影响最终效果吗?一次把常见误解说清楚

云渲染会影响最终效果吗?一次把常见误解说清楚

很多人第一次接触云渲染,最担心的不是速度,而是一句话: “云渲染出来的效果,会不会和我本地不一样?”结论先放这: 正规云渲染,本质就是读取你本地的渲染参数,算力换了,结…

2026/7/3 14:28:29 阅读更多 →

最新新闻

基于YOLOv11的果树害虫智能识别系统开发与优化

基于YOLOv11的果树害虫智能识别系统开发与优化

1. 项目概述:基于YOLOv11的果树害虫智能识别系统去年在果园实地调研时,我发现果农们仍在用最原始的方法识别害虫——拿着放大镜一片叶子一片叶子地检查。这种低效的识别方式直接导致虫害防治的滞后性,往往发现时已经造成不可逆的损失。这正是…

2026/7/4 23:43:22 阅读更多 →
如何从‘能聊天’升级到‘让别人愿意主动找你聊’的系统?

如何从‘能聊天’升级到‘让别人愿意主动找你聊’的系统?

一、第一刀:为什么大多数人只能“能聊天”,不能“被找聊”? 因为他们停留在:被动对话系统✔ 特征: 别人发起你回应你维持但不会“积累吸引力”👉 本质:只是“对话节点”,不是“对话源…

2026/7/4 23:41:22 阅读更多 →
基于Playwright与MCP协议实现浏览器自动化与手动操作协同

基于Playwright与MCP协议实现浏览器自动化与手动操作协同

1. 项目概述:当自动化脚本遇上你的手动操作在浏览器自动化测试和爬虫开发的日常里,我们常常面临一个尴尬的割裂:一边是精心编写的Playwright脚本,在无头模式下高效、稳定地执行任务;另一边,则是我们自己手动…

2026/7/4 23:39:21 阅读更多 →
通过COM组件在Web上实现Kinect骨骼追踪、声控截屏保存的功能

通过COM组件在Web上实现Kinect骨骼追踪、声控截屏保存的功能

具体实现 第一部分 ActiveX插件的实现 1) 创建一个新的解决方案,叫做MyFirstKinect。 2)接着创建一个Windows窗体控件库,用于做ActiveX的插件,项目叫做MyFirstKinectControl 3)在MyFirstKinectControl项目…

2026/7/4 23:39:21 阅读更多 →
Coze平台AI Agent开发实战与优化技巧

Coze平台AI Agent开发实战与优化技巧

1. Coze平台与AI Agent开发概述作为一名长期从事AI应用开发的工程师,我最近深度体验了Coze平台在AI Agent开发中的实际表现。这个由字节跳动推出的开发平台确实为不同技术背景的用户提供了一种全新的AI应用构建方式。与传统开发模式相比,Coze最显著的特点…

2026/7/4 23:39:21 阅读更多 →
机器学习模型线上稳定性实战:特征一致性、数据漂移与推理容错

机器学习模型线上稳定性实战:特征一致性、数据漂移与推理容错

1. 这不是“跑通模型”就完事的课——它讲的是模型怎么在真实业务里活下来“From Notebook to Production: Running ML in the Real World (Part 4)”这个标题,光看前半句,很多人会下意识划走:又一个讲MLOps流程的泛泛而谈?但关键…

2026/7/4 23:37:20 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻