自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 STM32F03c8t6最小系统板

摘要:STM32F103C8T6是基于Cortex-M3内核的32位MCU,具有72MHz主频、64KB Flash和丰富外设(ADC、定时器、通信接口等)。其GPIO支持8种工作模式(输入/输出/复用),可通过标准库函数配置。典型应用包括推挽输出控制LED(如PC13引脚)、上拉输入检测按键(如PA0引脚)以及复用功能实现串口通信(PA9引脚)。开发时需注意时钟使能、GPIO速度选择(2/10/50MHz)和5V容忍引脚(带FT标记)的特性。

2025-07-04 10:28:53 580

原创 C语言基础-链表

《C语言链表核心解析》摘要: 链表是由节点通过指针链接的动态数据结构,每个节点包含数据域和指向下一节点的指针。核心操作包括:1)节点定义(typedef结构体);2)创建链表(初始化头指针);3)头插法插入节点(malloc分配内存);4)遍历链表(while循环移动指针);5)删除节点(维护前驱指针并free内存)。典型应用示例演示了创建、插入、删除等操作流程。重点注意事项:严格管理内存(避免泄漏/野指针)、正确处理边界条件(空链表/头尾节点)、准确操作指针连接(防止断链/丢失)。调试建议采用图解法和内存

2025-06-29 21:12:23 291

原创 C语言基础-结构体

C语言结构体(struct)是一种自定义数据类型,可将不同类型数据组合成单一实体。本文介绍了结构体的核心知识:1.定义与声明:通过struct关键字定义,包含成员列表;2.成员访问:使用点运算符(.)或箭头运算符(->);3.指针操作:用于动态内存分配和函数参数传递;4.结构体数组:存储多个实例;5.常见易错点:包括未初始化、指针未分配内存、浅拷贝等。最后通过学生信息管理系统的完整示例,展示了结构体的实际应用。使用时需注意内存管理和语法细节,避免常见错误。

2025-06-29 17:33:31 1356

原创 C语言基础-指针(详细版)

摘要:C语言指针详解 本文系统讲解了C语言指针的核心概念与应用。指针作为直接操作内存地址的变量,其基本用法包括声明、初始化、赋值和解引用操作。文章详细解析了指针运算规则(算术/关系运算)、与数组的关系(一维/二维数组访问方式),以及特殊指针类型(字符指针、指针数组、多级指针、void指针和const修饰指针)。最后总结了常见易错点,如野指针、内存泄漏和类型不匹配等问题,并给出使用建议。通过代码示例和数学公式(如地址计算)阐述了指针的底层原理,帮助开发者安全高效地使用这一重要特性。

2025-06-28 17:52:05 1058

原创 C语言基础-函数

C语言函数详解摘要:函数是执行特定任务的独立代码块,包含声明、定义和调用三部分。C语言采用值传递机制,通过指针可修改原值。数组名作为指针传递时需注意内存管理。递归函数必须设置终止条件避免栈溢出。函数指针可实现动态调用,但需注意类型匹配。常见错误包括:值传递误解、数组长度丢失、野指针风险、递归终止缺失和函数指针类型不匹配。最佳实践包括使用指针修改原数据、传递数组时附带大小、确保返回指针的有效性、设置递归终止条件及严格匹配函数指针签名。(147字)

2025-06-28 17:47:11 455

原创 C语言基础-指针

摘要:指针是存储内存地址的变量,通过解引用操作访问数据。文章详细介绍了指针的基本操作(声明、初始化、解引用)、指针运算以及与数组(一维/二维)的关系。重点剖析了字符指针、指针数组、多级指针和void指针的特性,并强调了const修饰指针的两种不同用法。最后总结了常见错误:野指针、内存泄漏、越界访问和类型不匹配,指出理解指针的底层机制和类型系统是避免错误的关键。全文以代码示例辅以易错点说明,具有实用指导意义。

2025-06-26 21:01:50 463

原创 C语言基础-字符串和字符数组

C语言中,字符串是以\0结尾的字符数组。定义时可用数组或指针形式,需注意字符数组与字符串的区别。标准库<string.h>提供字符串处理函数如strlen、strcpy、strcat等。输入输出可使用printf/scanf或更安全的fgets/puts。操作字符串时需确保缓冲区足够,防止溢出,动态内存字符串需手动管理内存。字符串字面量存储在只读区,不可修改,而数组形式的字符串可修改。使用安全版本函数如strncpy可提高安全性。

2025-06-24 18:49:54 308

原创 C语言基础-知识补充

冒泡排序通过重复比较相邻元素并交换位置,将较大(或较小)的元素逐步“浮”到数组末端。外层循环控制轮次,内层循环比较相邻元素。每次从未排序部分选择最小(或最大)元素,与未排序部分的第一个元素交换。外层循环控制当前位置,内层循环寻找最小值索引。嵌套循环常用于多维数组遍历或多层条件处理。外层循环每执行一次,内层循环完整执行一轮。

2025-06-23 21:01:12 194

原创 C语言基础-数组

摘要:C语言中的数组分为一维、二维和多维数组。一维数组是最基础形式,需注意下标从0开始和越界问题;二维数组按行优先存储,初始化时列数必须明确;多维数组内存占用随维度增长显著。通用注意事项包括:数组名常退化为指针,sizeof可获取总字节数,函数传递的是指针而非副本,需特别注意边界检查以避免越界。动态数组需使用malloc/free管理内存,高维数组可能降低代码可读性。建议用宏定义数组长度,const修饰符可保护数据不被修改。(149字)

2025-06-23 20:04:01 242

原创 C语言基础-控制语句

摘要:文章介绍了三种主要的程序控制语句:1)if-else条件语句,包括基本形式、嵌套和elseif多分支结构;2)switch多分支选择语句,强调break防穿透作用;3)三种循环结构(while、do-while、for)及其特点。还说明了break、continue、goto和return等辅助控制语句的用法。这些语句组合可实现复杂逻辑,但需注意合理使用以保持代码可读性。(149字)

2025-06-22 21:38:16 134

原创 C语言基础-运算符优先级

C语言中运算符的优先级决定了表达式中各部分的计算顺序。优先级高的运算符先于优先级低的运算符进行计算。如果优先级相同,则结合性(从左到右或从右到左)决定计算顺序。如果需要更详细的信息,可以参考C语言标准文档或权威编程手册。逗号(从左到右依次计算)

2025-06-20 17:22:50 1221

原创 C语言基础-输入输出函数

C语言标准库提供了多种输入输出函数,用于处理不同类型的数据。这些函数主要包含在stdio.h头文件中,涵盖了数据输出、格式输出、字符输出、格式输入、输入缓冲区清理以及字符串输入输出等功能。字符串输入:避免使用gets,改用fgetsputs以上函数需包含stdio.h头文件。使用输入函数时需注意缓冲区和安全性问题。

2025-06-20 16:35:05 209

原创 C语言基础-常量

在C语言中,常量是指程序运行期间其值不能被修改的固定数据。常量分为直接常量(字面常量)和符号常量(通过宏或const定义)。

2025-06-20 16:23:00 381

原创 C语言基础-数据类型

C语言的数据类型分为基本类型和派生类型。基本类型包括整数类型、浮点类型和字符类型。所有成员共享同一内存空间,仅能同时存储一个成员的值。派生类型包括数组、指针、结构体、联合体和枚举。用于存储相同类型的多个数据,声明时需指定大小。允许组合不同类型的数据成员,形成自定义类型。存储变量内存地址,可通过指针间接访问数据。定义一组命名的整数常量,增强代码可读性。等修饰符可调整数据类型范围或精度。C语言支持隐式和显式类型转换。通过强制类型转换运算符实现。编译器自动进行,如将。

2025-06-20 16:20:10 957

原创 C语言基础-运算符

优先级高的运算符先执行,相同优先级从左到右或从右到左执行。C语言的运算符分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符(如条件运算符、逗号运算符等)。)用于分隔多个表达式,从左到右依次执行,最终结果为最后一个表达式的值。算术运算符用于执行基本的数学运算,包括加法(位运算符用于对二进制位进行操作,包括按位与(关系运算符用于比较两个值的大小,包括等于(逻辑运算符用于组合或反转条件,包括逻辑与(赋值运算符用于给变量赋值,包括简单赋值()是唯一的三目运算符,用于简化条件判断。

2025-06-20 16:13:09 247

原创 C语言基础-变量的存储类型

C语言提供四种变量存储类型:auto(默认)、register、static和extern。auto变量存储在栈中,生命周期限于代码块;register建议存储在寄存器以加速访问;static变量保存在静态区,仅初始化一次;extern用于跨文件共享全局变量。选择存储类型需考虑变量生命周期、作用域和访问频率:频繁使用的局部变量可用register,需保留值的局部变量适用static,共享变量使用extern。合理选择存储类型能优化程序性能和内存管理。

2025-06-20 16:04:32 287

原创 C语言基础-标识常量

宏替换在预处理阶段进行,属于文本层面的直接替换。这种简单替换可能导致运算符优先级与预期不符,尤其在复杂表达式中。这种情况下应改用内联函数。包含多条语句的宏需用。

2025-06-20 14:12:11 190

原创 布尔变量和条件语句的使用

值的二元数据类型,常用于逻辑判断。

2025-06-19 15:51:47 169

原创 C语言基础——输出“Hello World“

通过实践理解了程序的基本运行逻辑,熟悉了开发环境(如编译器使用)。

2025-06-19 15:29:05 378

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除