自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (1)
  • 收藏
  • 关注

原创 推导 STM32 主频(168MHz)

在这段代码的实质是按位或()拼装操作。其依据是《STM32 参考手册》中寄存器的物理位定义。PLL_M |PLLM字段位于 Bit 5 ~ Bit 0(最低位),无需移位,直接写入。PLLN字段位于 Bit 14 ~ Bit 6,因此数值需左移 6 位对齐。PLLP字段位于 Bit 17 ~ Bit 16。根据手册规定,写入00代表 PLL_P=2。代码通过>>1 -1的算法(2>>1 = 1;1-1 = 0),计算出二进制00,并左移 16 位。PLLSRC。

2026-11-01 00:22:29 115

原创 C++ STL 关联容器:map / set / multi / unordered

有序容器(红黑树系列):插入/查找/删除稳定 O(logN),无性能退化,支持有序遍历、范围查询无序容器(哈希系列):平均O(1)哈希冲突极端场景最坏 O(N),存在 rehash 性能抖动有序容器(set/map):需实现严格弱序,默认重载operator<,或自定义比较器无序容器(unordered_):需自定义哈希函数+ 重载operator==,标准库无默认哈希实现。

2026-08-06 16:04:51 354

原创 Linux 文本编辑器 Vim

Vim(Vi IMproved)是 Linux/Unix 系统中最强大的文本编辑器之一,由 Bill Joy 1976 年编写的 Vi 编辑器发展而来。特点说明全键盘操作双手不离开主键盘区,编辑效率极高模式化设计不同模式各司其职,功能清晰无处不在预装在几乎所有 Linux 发行版和 macOS 中轻量高效资源占用极少,SSH 远程连接下流畅运行高度可扩展插件生态丰富,可打造成 IDE分类核心命令用途模式切换iEsc插入 ↔ 普通 ↔ 命令光标移动h/j/k/lggG0全键盘导航编辑ddyypPu。

2026-07-17 11:18:07 255

原创 【Linux 基础 IO】文件操作、文件描述符、重定向

标准 IO 易用带缓冲;系统调用底层无缓冲文件描述符是进程打开文件的句柄,0/1/2 默认打开重定向 = 关闭标准 fd+open 新文件一切皆文件:统一抽象,简化系统设。

2026-05-01 16:38:58 252

原创 Linux 操作系统】进程

进程 = 运行中的程序,是 Linux 系统资源分配与调度的基本单元。程序:磁盘上的静态指令集合(如乐谱)进程:加载到内存、被 CPU 执行的动态实例(如演奏)代码段(.text):可执行指令数据段(.rodata/.data/.bss):全局 / 静态变量堆(heap):malloc/new 动态分配栈(stack):局部变量、函数调用进程控制块 PCB:内核描述进程的核心数据结构完整进程 = 独立虚拟地址空间 + 内核 PCB。

2026-05-01 16:24:15 426

原创 Linux 常用指令与参数速查表

【代码】Linux 常用指令与参数速查表。

2026-01-20 10:33:13 605

原创 [C语言]:预编译指令

define是预编译中最常用的指令,用于定义常量或带参数的宏,本质是字符串替换,替换过程发生在预编译阶段,不占用运行时资源。直接定义一个常量符号,替换时仅做字符串替换,无需加分号(否则会导致额外语法问题)。2// 定义常量TWO,值为2TWO // 嵌套使用已定义的宏// 预编译后替换为 int x = 2;// 输出2x = FOUR;// 预编译后替换为 x = 2*2;// 输出4return 0;注意:定义常量时末尾不要加;,否则会出现类似x = 2;;的语法冗余。

2026-01-16 10:42:35 701

原创 【C语言】:文件

程序文件:用于组成程序的文件,包括源文件(.c)、目标文件(.obj)、可执行程序(.exe)等。数据文件:程序运行时读写的数据载体,比如存储配置信息的文本文件、保存用户数据的二进制文件等。

2026-01-15 21:32:24 645

原创 【C 语言】:结构体、枚举体、共用体

int age;// stu1、stu2 是 struct student 类型变量结构体变量的定义有两种方式,初始化需遵循“成员顺序匹配”或“指定成员赋值”原则。方式1:声明类型后单独定义(推荐,结构清晰)方式2:声明类型时同步定义(如前文的 stu1、stu2)// 定义成绩结构体// 语文成绩// 数学成绩// 学生结构体嵌套成绩结构体int age;// 嵌套 struct score 类型成员// 嵌套初始化:内层用 {} 包裹。

2026-01-10 13:23:25 592

原创 C语言:字符与字符串函数

/ 判断是否为小写字母// 判断是否为大写字母// 判断是否为数字// 使用已有函数组合实现函数关键特点使用场景注意事项memcpy速度快,不处理重叠非重叠内存复制确保内存不重叠memmove安全,处理重叠不确定是否重叠时比memcpy稍慢memcmp二进制比较比较内存内容比较的是字节,不是字符串memset按字节设置清零或初始化对非char类型要小心。

2026-01-10 12:10:57 982

原创 【C语言】指针

指针是C语言的灵魂,它赋予了程序员直接操作内存的能力,是实现高效、灵活程序的关键。理解指针,是通往C语言高手之路的必经关卡。

2025-12-27 23:06:09 762

原创 C语言:数组

定义:数组是一组具有相同数据类型的元素,在内存中连续存储的集合。核心特性元素类型统一:不能在一个int数组中存储char或float类型数据;长度固定:创建时必须指定大小(常量值),后续无法动态扩容(C99出现的VLA边长数组针对此做出了便利性更新);连续存储:元素在内存中紧密排列,无间隙,便于快速访问。分类:按维度分为一维数组(最常用)、二维数组(矩阵形式)、多维数组(极少使用)。

2025-12-15 18:57:46 787

原创 C语言:语句——选择结构与循环结构

范围判断用if-else if,固定值匹配用(效率更高);中,每个case后必加break,避免无意穿透;嵌套if不超过3层(否则代码可读性差,可拆分为函数)。

2025-11-29 08:35:58 966

原创 C语言:逗号、sizeof与最高优先级运算符

逗号运算符:优先级最低,必须加括号;返回最后一个表达式值,避免在数组初始化中误用。sizeof运算符:编译时求值,不执行表达式;数组作为函数参数退化为指针,字符串数组与指针的sizeof结果不同。最高优先级运算符()可改变优先级、类型转换;[]访问数组;和->访问结构体成员,优先级最高无需括号。

2025-11-29 08:21:43 790

原创 【C 语言】赋值、条件与位运算

位运算符直接对整数的二进制位进行操作,适用于底层硬件控制、性能优化等场景,常见包括按位与、或、异或、取反、移位等。右移会丢弃右侧低位,有符号负数右移时左侧补 1(最终变为 - 1)。复合赋值运算符将算术 / 位运算与赋值结合,简化代码书写,常见包括。是最基础的赋值运算符,用于将右侧表达式的值赋给左侧变量,支持。条件运算符支持嵌套,适用于多分支简单判断(如成绩等级划分)。逻辑,实现 “条件判断 - 结果选择” 的快速映射。)是 C 语言中唯一的三目运算符,用于简化。,因此可用于条件判断或表达式嵌套。

2025-11-27 20:13:20 531

原创 【C】算数,关系和逻辑运算符

一、算数运算符。

2025-11-16 08:59:26 241

原创 C 语言标准IO

实践中,常常会因为输入缓冲区中残余'\n'等字符,导致提前结束输入等未预料的情况,可以利用getchar()清空缓冲区。

2025-11-16 08:04:22 183

原创 C语言类型转换——默认隐式转换

横向同级类型(如同为整型):按“无符号优先”“高字节优先”转换。纵向不同级别(如整数与浮点):按“精度更高”原则向上转换。无符号与有符号混合是高频陷阱,需关注负数转无符号后的“最大值效应”。

2025-11-08 14:39:56 1090

原创 C语言字符与字符串存储原理深度解析

字符串通过字符数组定义,常见方式有 3 种,核心要求是必须为\0预留空间指定数组长度(大于字符串实际长度):// 数组长度10,前5位存字符,第6位自动补'\0',剩余4位默认填充'\0'不指定数组长度(编译器自动计算,含\0):// 编译器自动分配6个字节(5个字符 + 1个'\0')手动初始化字符数组(需显式添加\0):// 正确,手动添加结束标志// 错误,无'\0',不是合法字符串。

2025-11-08 10:37:10 793

原创 数值数据类型及其内存存储实现简介(C&C++)

本文系统介绍了C/C++中的数值数据类型及其内存存储机制。整型包括char、int、short、long等,分为有符号和无符号两类,采用补码形式存储。其中,正数补码等于原码,负数补码需取反加1。浮点型遵循IEEE754标准,分为float、double和long double,存储结构包含符号位、指数位和尾数位,采用偏移值表示指数并默认整数部分为1。文章通过具体示例(如-10的char存储和-0.65的float存储)详细演示了数值转换和存储过程,并提供了十进制转二进制的代码实现。

2025-11-01 22:33:54 883

原创 初次使用 Git Bash 所了解的知识 & 遇到的问题

在 Gitee 上建立了仓库「码云未来学习」(英文名:code-cloud-future-learning)在本地 Visual Studio 中建立项目。,并填写提交信息 “only gitee”。尝试重新推送时遇到问题,多次尝试仍未解决。之后尝试修改文件内容,将输出语句中的。将文件成功推送至 Gitee 仓库。

2025-10-23 23:46:43 166

空空如也

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

TA关注的人

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