
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
摘要:本文记录了作者从零开始学习51单片机的入门过程。通过完成点亮LED、LED闪烁、流水灯和渐变加速流水灯四个基础实验,作者初步掌握了IO口控制、电平概念、软件延时等嵌入式开发基础知识。文章详细介绍了每个实验的代码实现和硬件原理,特别强调了从软件思维到硬件控制的转变体验。作者分享了自己从去年看不懂教程到如今能理解硬件编程的心路历程,体现了前置知识对学习的重要性。这些实验为后续学习独立按键、数码管

本文基于51单片机实验,从按键控制LED的基础操作逐步深入,实现按键消抖、状态切换、二进制显示及LED移位控制。通过四个实验(独立按键控制亮灭、状态切换、二进制显示、双键控制移位),将C语言的if判断、位运算、函数封装等基础语法映射到硬件交互中。实验中因代码复用未完全修改端口号(如while(P3_1==0)误用为P3_0),导致按键触发异常,凸显了代码检查的重要性。总结发现,单片机开发的核心在于

本文是排序专题第五篇,属于排序阶段阶段性总结。讲解计数排序非比较排序原理,通过最值偏移处理负数,剖析时间复杂度O(N+R)与值域R带来的适用局限,说明基础版本稳定性问题。延伸介绍外部归并排序、三路快排、内省排序、基数、桶排序思想。汇总已学排序算法指标对比,分析各算法适用场景。代码实现独立CountSort项目,并接入综合测试工程,依托十万数据完成计时与正确性校验。

本文记录了作者对基础版通讯录系统的优化过程。针对输入汉字死循环、修改体验差、查找功能单一等痛点,作者按照优先级逐步优化:首先解决输入汉字导致的死循环问题,通过清理输入缓冲区实现;其次改进修改功能,支持回车跳过无需修改的字段;然后扩展查找功能,支持按电话/地址多条件查找;最后优化性别输入,支持0/1快捷输入。文章详细记录了每个问题的分析过程、解决方案和代码实现,包括输入缓冲区处理、fgets函数应用

本文是 Linux 系统编程系列开篇,梳理 UNIX、Linux、macOS、iOS、Android 之间的技术渊源,厘清内核与发行版、开源与免费的常见认知误区。讲解 Ubuntu、Debian、CentOS 等主流发行版差异,分析服务器领域 Linux 盛行的原因,说明系统开发优先使用命令行的意义。同时规划学习路线:先夯实 Linux 操作与系统调用,收尾 C 语言数据结构,进阶内容逐步转向 C

本文分享作者从C语言转向C++的学习经验。作者认为C++本质是C语言的升级版,通过具体代码示例(如命名空间、输入输出、函数重载等)展示了C++的核心特性。文章强调动手实践的重要性,并提供了学习方法建议:跟随课程+自主练习+写博客总结+结合数据结构实践。最后推荐了cppreference等学习资源,鼓励读者循序渐进地掌握C++,指出已有C语言基础会让学习更轻松。全文以实践为导向,适合刚接触C++的初

本文系统讲解了C语言标准库中字符操作、字符串处理和内存操作三大核心函数模块。文章详细解析了各类函数的功能、用法及常见坑点,包括字符分类/转换函数、基础字符串函数(strlen/strcpy/strcat/strcmp)、安全字符串函数(strncpy/strncat/strncmp)、字符串查找/分割函数(strstr/strtok)以及内存操作函数(memcpy/memmove/memset/m

本文系统讲解了C语言动态内存管理的核心知识。主要内容包括:四大内存分配函数(malloc、free、calloc、realloc)的使用方法和注意事项;六种常见内存错误及避坑指南;四道经典面试题解析;C99柔性数组的特性与优势;以及C/C++程序的内存分区模型。重点强调了动态内存分配的必要性、正确使用方法和"谁申请谁释放"的核心原则,帮助开发者掌握这一关键技能,避免内存泄漏等问

本文为软件工程(嵌入式开发方向)大一学生的学业生涯规划书。学生通过分析个人优势与不足),制定了软硬结合的发展路径。规划重点包括:大一夯实C/C++基础,大二攻坚硬件知识,持续参与竞赛和团队项目,同步推进技术博客更新与代码实践。强调通过"课堂+自学+实践"模式,利用学校资源,规避纯软件岗位风险,最终实现嵌入式全栈开发目标。计划包含具体课程目标、竞赛安排及风险应对措施,体现了系统性








