- 博客(28)
- 收藏
- 关注

原创 C语言 - getchar() 和 getch() 的区别
getchar():标准输入函数,需要按 Enter有回显有缓冲跨平台。getch()立即读取字符无回显无缓冲仅 Windows(Linux 需特殊处理)。如果你希望即时读取字符(如游戏、键盘监听),用 getch()。如果你希望用户输入完整内容(如普通文本输入),用 getchar()。(完)
2025-03-21 09:03:01
777
原创 C 语言 - 代码精简手册:献给每一个写完自己都看不懂的人
C 语言是一门既灵活又危险的语言。它允许你写出极其精简但也极其晦涩的代码。有些老程序员偏爱这种写法,看起来像神,维护起来像鬼。下面是一些常见的 C 语言浓缩语句,以及它们拆解后的正常人类能看懂的版本。
2025-04-09 09:00:00
697
原创 C语言 - 字符串函数手搓大全 | `strcpy`、`strcat`、`strcmp`、`strlen`、`strchr`、`strstr` 全解(含注释)
C语言字符串函数手搓大全 | strcpy、strcat、strcmp、strlen、strchr、strstr 全解(含注释)
2025-04-08 18:36:21
470
原创 C语言 - 数据类型转换中常见的技巧 (取小数的整数部分 & 取多字节的低字节部分)
数据类型转换中常见的技巧 (取小数的整数部分 & 取多字节的低字节部分)
2025-03-26 19:48:27
407
原创 C语言 - 整数与浮点数运算的类型转换规则
这些规则适用于 C 语言,也适用于 C++ 及其他类似的编程语言。在 C 语言中,不同数据类型在运算时会进行。当 unsigned int。,运算结果通常会转换为。,运算结果通常会转换为。
2025-03-25 19:20:22
1029
原创 单片机 - 位运算详解(`&`、`|`、`~`、`^`、`>>`、`<<`)
位运算是单片机编程(C/C++)中经常使用的技巧,用于高效地操作寄存器、I/O 端口和数据。以下是各位运算符的详细解析,并结合单片机实际应用举例。端口连接了 LED,我们要点亮 LED(假设 LED 连接在 P2 的第 2 位)。代表某个 I/O 端口,我们想要清除 P1 端口的第 3 位(保留其他位不变)。是否相等(所有位均相同)。
2025-03-25 16:53:53
1517
原创 计算机网络 - OSI 七层模型
TCP/IP 是目前实际应用的主要网络协议,而 OSI 主要作为理论模型指导网络协议的设计。OSI(Open System Interconnection,开放系统互联)模型由。制定,目的是为不同计算机网络系统之间的通信提供一个标准化的框架。,每层都负责不同的功能,并与上下层进行交互。
2025-03-24 17:58:32
1551
原创 单片机 - 串行通信 & 并行通信、接口类型及常见通信协议详细解析
按位(bit)依次传输数据,并通过时钟信号或特定的协议进行同步。SPI 是一种高速全双工串行通信协议,适用于。同时传输多个数据位(bit),通常需要。,两者的主要区别在于数据传输的方式。,用于计算机和外设之间的通信。
2025-03-24 10:23:06
1336
原创 操作系统 - 存储管理
1.内存管理计算机系统的部分涵盖了操作系统如何管理计算机的内存、存储设备和文件的资源,以确保数据存取的高效性、安全性和可靠性。存储管理包括多个方面,尤其是内存管理、存储设备管理和文件系统管理。1.内存管理内存管理是指操作系统如何有效地分配和管理计算机的主内存(RAM),使得程序能够在内存中运行,同时避免不同进程之间的冲突。内存管理的关键任务包括内存的分配、回收、保护和共享。
2025-03-23 14:49:15
730
原创 单片机 - 为什么32位CPU通常不能支持超过4GB RAM?
32位CPU和64位CPU的最大寻址能力有着显著的差异,导致32位CPU在处理大内存时存在一些限制。本文详细探讨32位和64位CPU的寻址能力,并分析为什么32位CPU通常不能支持超过4GB的RAM。为了突破4GB的寻址限制,Intel在Pentium Pro(1995年)之后的CPU引入了。由于操作系统和硬件架构的限制,现代操作系统实际上支持的最大RAM远小于16EB。即使物理内存超过4GB,CPU也无法使用这些额外的内存。在计算机架构中,CPU的寻址能力决定了它能够访问的。32位CPU的地址总线为。
2025-03-23 14:47:58
778
原创 C语言 - getchar() 的缓冲区问题,不推荐使用fflush(stdin);
C 标准不支持,它的行为是未定义的(UB)。Windows(MSVC)可以工作,但Linux/macOS(GCC)不保证正确行为。
2025-03-21 09:04:15
268
原创 Linux - 几种非常常见的命令(附详细介绍)
类别常用命令文件操作lscpmvrmtouch目录管理mkdirrmdircdpwd权限管理chmodchown进程管理pstopkill磁盘管理dfdu网络管理pingnetstat用户管理useraddpasswd查找搜索findgrep(完)
2025-03-20 10:02:44
200
原创 数据结构 - 应用头插法&尾插法创建单向链表(C语言简洁版,附超详细注释)
在链表的创建过程中,常见的插入方法有和:每次插入新节点时,都将其插入到链表的头部,使新节点成为新的头节点。此方法适用于需要逆序存储数据的情况,效率较高。:每次插入新节点时,都将其插入到链表的尾部。适用于保持数据顺序的情况,但在单向链表中,每次插入新节点都需要遍历到链表尾部,效率相对较低。
2025-03-20 09:33:57
535
原创 数据结构 - 链表简介
链表(Linked List)是一种常见的线性数据结构,它由一组节点(Node)构成,节点是通过指针连接在一起的。与数组不同,链表的元素在内存中不需要是连续存储的,因此它在插入和删除元素时比数组更灵活。节点(Node):链表的每个元素都被称为一个节点。每个节点至少包含两部分:头节点(Head):链表的起始节点,通常用来标记链表的开始位置。如果链表为空,则头节点为。尾节点(Tail):链表的最后一个节点,通常指向,表示链表的结束。链表可以有不同的变种,常见的有:单链表(Singly Linked List):
2025-03-19 14:36:42
910
原创 单片机 - ARM 系列内核和 STM 系列芯片简介
STM32 是**意法半导体(STMicroelectronics)**推出的 MCU(微控制器)系列,基于 ARM Cortex-M 内核,广泛用于工业控制、物联网、汽车电子等领域。Cortex-M 是 ARM 专门为 MCU 设计的内核,具有低功耗、高效能的特点。ARM(Advanced RISC Machine)是一种基于。设计授权,广泛用于嵌入式系统、移动设备和服务器等领域。
2025-03-19 14:14:09
952
原创 C语言 - 常见的标准库头文件
C 语言的标准库头文件提供了丰富的功能,能够大大提高开发效率。掌握这些库的使用,可以更轻松地处理输入输出、数学运算、字符串处理、文件操作等任务。
2025-03-18 14:51:38
444
1
原创 C语言 - 常见的预处理命令
define用于定义常量或宏函数,通常用于替代一些固定的值或简单的代码块。宏名会在预处理阶段被替换为定义的内容。示例#define PI3.14159// 定义一个常量PI# define PI 3.14159 // 定义一个常量PI # define MAX(x , y)((x) >(y)?(x) :(y)) // 定义一个宏函数# define PI 3.14159 // 定义一个常量PI # define MAX(x , y)((x) >(y)?(x) :(y)) // 定义一个宏函数。
2025-03-18 13:15:00
753
1
原创 C语言 - 包含头文件时,尖括号(< >)和双引号(“ “)的使用区别
使用<>时,编译器会从系统标准库目录查找头文件;使用""时,编译器会首先从当前文件所在的目录查找头文件,找不到时才会去系统库路径查找。
2025-03-17 18:56:39
602
1
原创 C语言 - 使用Dev-C++时,如何在项目初始源文件插入代码,避免新建时重复书写
在使用Dev-C++学习C/C++语言时,往往会重复输入预处理命令(),标准输入输出头文件(),以及函数框架等等。
2025-03-17 16:12:13
268
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人