- 博客(81)
- 收藏
- 关注
原创 【51单片机】萌新持续学习中《矩阵 密码锁 点阵屏》
【51单片机进阶应用】文章分享了三个51单片机项目:1. 矩阵密码锁:通过4×4矩阵键盘输入4位密码(预设2005),LCD1602显示输入过程,确认键验证密码并显示"OK"或"ERR";2. 秒表计时:利用定时器中断实现时分秒计时,通过LCD1602显示实时时间;3. 点阵屏显示:8×8LED点阵通过74HC595驱动,可静态显示自定义图形(如笑脸)或通过帧动画实现动态效果。文中提供了核心代码逻辑,并强调硬件消抖、状态机控制等关键技术要点。完整项目代码和演示视频可在
2025-08-26 16:33:54
904
原创 单片机捷径
你还真点进来看呀,我的天!!!!学习没有捷径,只有勤练去,勤敲!!!本人学校不太行,水课密密麻麻。没招了,那就B站大学在线入校了。
2025-08-10 16:58:26
3818
2
原创 【C语言】知识总结·文件操作
C语言文件操作是处理外部数据的重要功能,主要包括文本文件和二进制文件的读写。文件操作步骤为:定义文件指针、使用fopen打开文件、选择合适函数读写(如fprintf/fscanf、fread/fwrite)、用fclose关闭文件。文本文件使用字符/字符串读写函数,二进制文件适合块读写。还涉及文件定位(fseek/ftell)、错误处理(ferror/perror)和缓冲区管理。最佳实践包括及时关闭文件、检查错误、避免缓冲区溢出等。掌握这些知识需要理论结合实践,才能编写高效安全的文件操作程序。
2025-07-02 21:44:27
4839
原创 【C语言】知识总结·内存函数
动态分配的内存需要及时释放(free),以避免内存泄漏。使用这些函数时,确保提供的指针和大小参数是有效的,以防止未定义行为。C语言 知识点到此大部分讲述完毕,文件操作咱们下章再见!!!!
2025-06-30 20:48:17
786
1
原创 【C语言】知识总结·结构体篇
本文介绍了C语言中结构体的核心概念与应用。主要内容包括:1)结构体定义与声明方式;2)三种变量创建方法;3)成员访问(.和->运算符);4)结构体作为函数参数的两种传递方式;5)结构体数组与嵌套结构体的使用;6)内存对齐问题;7)结构体复制与比较方法;8)typedef简化结构体类型名。结构体作为组织复杂数据的有效工具,在表示坐标、学生信息等场景中具有重要作用。文中通过Point等示例代码,详细演示了结构体的基本操作和常见用法。
2025-06-28 10:27:21
479
原创 【C语言】知识总结·指针篇
指针是C语言的重中之重,要多加练习,才能掌握。难点较多,容易错误。直接操作内存,提供底层控制能力。高效传递数据,减少内存开销。构建复杂数据结构和实现高级编程技巧。
2025-06-27 13:16:43
1046
原创 【C语言】C语言期末知识大全
返回类型 函数名(参数列表){ // 函数体(代码逻辑)return 返回值;// 如果返回类型为void,则不需要return语句返回类型:可以是intfloatchar等,若不返回值则使用void。参数列表:逗号分隔的参数声明,每个参数包含类型和名称。若没有参数,可写void或留空。例如:定义一个加法函数// 返回两个数的和数组最为重要,还有其他基础函数 strlupr小写转大写,strcmp连接等函数。希望对大家有所帮助。下章节再见,指针再会。
2025-06-26 15:08:18
1110
原创 【C语言】讲解 程序分配的区域(新手)
1.栈:用来存放函数的形参和函数内的局部变量。由编译器分配空间,在函数执行完后由编译器自动释放。2.堆:用来存放由动态分配函数(如malloc)分配的空间。是由程序员自己手动分配的,并且必须由程序员使用free释放。如果忘记用free释放,会导致所分配的空间一直占着不放,导致内存泄露。3.全局区/静态区:用来存放全局变量和静态变量。程序结束时由系统释放,分为全局初始化区和全局未初始化区;存在于程序的整个运行期间,是由编译器分配和释放的。4.常量区:常量字符串放于此,程序结束时由系统释放。
2025-05-31 21:43:55
925
原创 【C语言】习题练手 带你入门,突破编程瓶颈
先思考再编码:在纸上画流程、思考过程,避免边写边改;调试是必备技能:用printf打印中间变量,或用 IDE 的断点调试功能;举一反三:比如排序题,试试对浮点数数组、字符串数组排序;挑战 “边界条件”:输入 0 个元素、负数、超大数,测试程序鲁棒性。(大部分的网址习题都会考察边界问题)
2025-05-30 21:51:42
332
原创 【C语言】指针详解(接)
指针变量存储的是内存地址通过解引用操作符可以访问和修改内存中的数据指针算术允许在内存中移动指针是实现数组、字符串、动态内存分配和复杂数据结构的基础使用指针时必须特别注意内存管理和避免常见错误。
2025-05-29 09:05:10
697
原创 【C语言】详解 指针
在学习指针前,通过比喻的方法,让大家知道指针的作用。想象一下,你在一栋巨大的图书馆里找一本书。如果没有书架编号和目录,这几乎是不可能完成的任务。在 C 语言中,指针就像是图书馆的索引系统,它能让你快速定位和访问内存中的数据。
2025-05-28 23:06:09
422
原创 【C语言】链接与编译(编译环境 )
在前面讲解文件操作,了解了文件的类别,文件的打开与关闭,字符读写函数, 字符串读写函数,格式化输入输出函数在C语言编程中,编译与链接是将源代码转化为可执行程序的关键步骤。
2025-05-22 17:00:26
1061
原创 【C语言】预处理详解
C 语言预处理发生在编译器对源文件进行编译之前,它的主要任务是对源文件中的预处理指令进行处理,将处理后的结果交给编译器进行编译。预处理指令以#开头,独占一行,并且不加分号作为语句结束标志。常见的预处理指令包括宏定义、文件包含、条件编译等,它们可以帮助我们提高代码的可维护性、增强代码的灵活性,以及实现一些特定的功能。无参数宏定义是最基本的宏定义形式,它的作用是用一个标识符来替换一段文本。其语法格式为:#define 宏名 替换文本例如,我们可以使用宏定义来定义一个常量:。
2025-05-22 13:38:09
945
原创 【C语言】习题练手套餐
在此之前我们已经讲解了许多的C语言知识了,在本章节为大家提供一些C语言的基础习题,在最后会给大家习题网址。题目会由简到难。
2025-05-20 10:17:58
460
原创 【C语言】链接与编译(编译环境 )
在翻译环境中,源代码会被转化为可执行的机器指令。这个过程会分为编译与链接两大步。前言:在前面讲解文件操作,了解了文件的类别,文件的打开与关闭,字符读写函数, 字符串读写函数,格式化输入输出函数在C语言编程中,编译与链接是将源代码转化为可执行程序的关键步骤。
2025-05-17 10:54:25
914
原创 【C语言】文件操作(补充)
本章节详细介绍了C语言中文件的随机读取、文件读取结束的判定以及文件缓冲区通过使用fseekftell和rewind函数,可以实现文件的随机访问;通过feof和ferror函数,可以准确判断文件读取的状态;而文件缓冲区则通过在内存中暂存数据来提高文件操作的效率。本章结束了!!!我们下章再见!!
2025-05-14 13:30:37
698
原创 【C语言】字符函数
通过本文的讲解,相信你已经对C语言中的常见字符函数有了初步的了解。这些函数是C语言编程中处理字符串和字符的基础工具,掌握它们将为你后续的编程学习打下坚实的基础。字符分类函数用于判断字符的类型,包括字母、数字、空格等。这些函数在处理字符串时非常有用。字符转换函数用于将字符从一种形式转换为另一种形式,例如大小写转换。特殊字符处理函数用于处理字符串中的特殊字符,如空格、换行符等。字符串操作函数用于对字符串进行拼接、截取、替换等操作。在下一张为大家分析一下常见的函数用法错误,易错点。
2025-05-10 23:27:47
565
原创 【C语言】文件操作(续)
字符读写函数: 从指定的输入流中读取一个字符。: 向指定的输出流中写入一个字符。字符串读写函数: 从指定的输入流中读取一行字符串。: 向指定的输出流中写入一行字符串。格式化输入输出函数: 从指定的输入流中读取格式化数据。: 向指定的输出流中写入格式化数据。大家好,本章到此结束!!!!这是对我的最大的支持!!!我们下章再见啦!!
2025-05-09 09:24:21
671
原创 【C语言】文件操作(续)
字符读写函数: 从指定的输入流中读取一个字符。: 向指定的输出流中写入一个字符。字符串读写函数: 从指定的输入流中读取一行字符串。: 向指定的输出流中写入一行字符串。格式化输入输出函数: 从指定的输入流中读取格式化数据。: 向指定的输出流中写入格式化数据。大家好,本章到此结束!!!!这是对我的最大的支持!!!我们下章再见啦!!
2025-05-08 22:27:40
268
原创 【C语言】五一回归,复习动脑
大家好!五一过完不知道大家玩的如何呢?博主是玩爽啦!!!知识统统忘掉啦!!所以,本章节带大家做一个总结,复习。让知识回归大脑!
2025-05-07 13:03:49
627
原创 【C语言】自定义类型:联合和枚举
在上一章节讲解了结构体的位段,与传参。浅浅复习一下:位段的成员名(整型)后边有一个冒号和一个数字,这里的单位是bit,当一个字节中位置不够一个成员的大小,则会浪费,存储在下一个字节中。在本章节中为大家讲解联合体联合体(Union)是C语言中一种特殊的自定义数据类型,其主要特点是多个成员共享同一块内存空间。目录联合体类型的声明联合体的特点联合体的大小计算枚举类型的声明优点最佳实践与陷阱规避联合体使用注意事项枚举使用规范性能与内存优化总结。
2025-05-07 12:16:17
942
原创 【C语言】文件操作
文件是计算机系统中用来存储和组织数据的基本单位。磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)C语言的文件操作通过流的概念实现,提供了丰富的函数来满足不同的需求。理解文本文件和二进制文件的区别对于正确选择操作方式至关重要。本章节到此结束了,如果对你们有所帮助的话可以关注一手,下一章节继续为大家带来文件操作的讲解。下篇再见!!!
2025-04-28 15:56:58
967
原创 【C语言】程序分配的区域
1.栈:用来存放函数的形参和函数内的局部变量。由编译器分配空间,在函数执行完后由编译器自动释放。2.堆:用来存放由动态分配函数(如malloc)分配的空间。是由程序员自己手动分配的,并且必须由程序员使用free释放。如果忘记用free释放,会导致所分配的空间一直占着不放,导致内存泄露。3.全局区/静态区:用来存放全局变量和静态变量。程序结束时由系统释放,分为全局初始化区和全局未初始化区;存在于程序的整个运行期间,是由编译器分配和释放的。
2025-04-27 14:07:33
1028
原创 【C语言】柔性数组
柔性数组必须是结构体中的最后一个成员,且其前面至少需要有一个其他成员变量。其定义形式如下:int a;// 柔性数组成员或者:因为有的编译器无法理解,那么就需要这种方法int a;// 等价于上述形式这种设计使得柔性数组的大小在编译时无法确定,但可以在运行时动态分配。特点:内存优化:由于柔性数组不计入结构体的总大小,因此可以减少内存碎片,提高内存利用率。灵活性:适用于需要存储可变长度数据的场景,如字符串、动态数组等。限制:柔性数组必须是结构体的最后一个成员,且前面至少有一个其他成员变量。
2025-04-26 23:14:21
1283
原创 【C语言】动态内存的常见错误
在上章节中讲解了动态内存的概念和管理的核心函数。在本章节继续为大家介绍动态内存的常见错误,让大家更好的理解运用。补充:使用内存函数需要头文件<stdlib.h>malloccallocrealloc正确的做法是先检查返回值是否为NULL,避免直接使用指针。
2025-04-22 22:40:01
437
原创 【C语言】动态内存管理
在上一章节讲解了自定义类型:联合体和枚举的使用,和注意事项。在本章节为大家带来动态内存管理的文章,希望有所帮助。在C语言中,动态内存管理是一项核心技能,它允许程序员在程序运行时根据需要分配和释放内存。与静态内存分配相比,动态内存管理提供了更大的灵活性,能够应对不确定或变化的数据大小。然而,动态内存管理也伴随着一些风险,如内存泄漏、野指针和悬挂指针等问题。本文将从动态内存管理的基本概念、常用函数、常见错误及其解决方法等方面进行详细讲解。本章节介绍了为什么需要动态内存管理?和动态内存管理的函数.关键要点。
2025-04-22 10:14:14
703
原创 【C语言】自定义类型:联合和枚举
联合体和枚举作为C/C++的核心特性,在系统编程、嵌入式开发、协议处理等领域具有不可替代的作用。联合体通过内存复用实现紧凑存储,枚举则提升了代码的可维护性和安全性。深入理解其底层机制,结合具体应用场景合理使用,可以显著提升代码质量和执行效率。本章节讲解完毕,我们下章再见!!预告:下章节讲述动态内存管理。。有兴趣的话。!
2025-04-19 12:12:48
942
原创 【C语言】结构体 深入 2(传参,位段)
推荐使用传址调用:传值调用虽然简单,但在结构体较大时会导致较大的内存开销和时间消耗。因此,在实际开发中,建议优先选择传址调用。位段作为经典的内存优化技术,在嵌入式开发、协议解析等场景中仍有重要价值。但在现代软件开发中,需要权衡其内存优势与潜在的可移植性风险。对于新项目,建议优先考虑可移植性更好的位掩码方案;而在资源严格受限的嵌入式场景,合理使用位段仍是不二之选。记住:任何优化都要以可维护性为前提!好了,本章到此结束了!!感兴趣的,关注一手博主,我们下期再见!!
2025-04-17 10:03:44
1147
原创 【C语言】浮点数在内存的储存
浮点数是一种用来表示实数的数据类型,其特点是小数点的位置可以浮动。浮点数由三个部分组成:符号位(Sign)、指数位(Exponent)和尾数位(Mantissa)。符号位表示数值的正负,指数位表示数值的大小范围,尾数位则表示数值的具体精度。浮点数的存储格式通常遵循IEEE 754标准,这是目前计算机系统中最常用的浮点数存储规范。IEEE 754标准定义了单精度浮点数(32位)和双精度浮点数(64位)两种主要格式。
2025-04-09 20:01:18
1007
原创 【C语言】大小端字节序和字节序判断
在上章介绍了整形在内存的储存,了解了原码,反码,补码,知道了整数在内存的储存一般是补码,解决了负数相加的问题。那么在本章为大家讲解一下大小端字节序。
2025-04-07 14:46:37
1621
原创 【C语言】数据在内存中的储存(整形)
在上两章中讲解了五大内存函数,其中memchr函数,这个函数考察到数据内存的存储。接下来为大家讲解整数在内存中的储存。
2025-04-06 21:10:43
769
1
原创 【C语言】内存函数 (续)
内存查找字符——memchr内存设置函数——memset内存比较函数——memcmp要注意 memchr与memset函数都是逐字节的进行查找或者修改,因此在具体的使用过程中如果使用不当可能就会造成一些错误。今天的内容到这里就全部结束啦!!!!
2025-04-06 12:44:58
1222
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人