跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
重置
编程语言 / C

标签

全部标签AIGPT-image-2javaNode.jsNuctPayPPT制作React NativeRNSaaSVScodeWeChat大前端算法

分类

全部分类
编程语言
PythonJavaScriptTypeScriptJavaKotlinGo / GolangRustC++CC#F#PHPRubySwiftObjective-CScalaClojureElixirErlangHaskellDartLuaPerlRJuliaMATLAB / OctaveSQLShell / BashPowerShellHTML / CSSZigNimCrystalGroovyVisual Basic .NETSolidity汇编

排序

最新更新最新发布最多浏览最多点赞
深入理解 Linux 基础 IO:从 C 库到系统调用
C

深入理解 Linux 基础 IO:从 C 库到系统调用

综述由AI生成Linux 基础 IO 核心在于理解'一切皆文件'哲学,涵盖 C 标准库与内核系统调用两层机制。C 库函数(如 fopen)提供带缓冲区的跨平台接口,而系统调用(如 open)直接操作内核资源。文章通过代码对比了两者在文件读写、权限设置及模式上的差异,指出掌握底层逻辑对后续学习网络 IO 和进程通信至关重要。

禅心发布于 2026/2/7更新于 2026/4/268 浏览0 点赞约 27 分钟阅读
Linux 进程控制:进程终止与等待及 waitpid 参数解析
C

Linux 进程控制:进程终止与等待及 waitpid 参数解析

Linux 进程终止包含正常与异常两种情况,通过退出码或信号标识状态。父进程需调用 wait 或 waitpid 回收子进程资源以防止僵尸进程产生并获取退出信息。waitpid 支持阻塞与非阻塞模式,通过 status 参数结合位操作或宏可提取子进程终止类型及具体退出码。

暗影行者发布于 2026/2/7更新于 2026/4/267230 浏览208 点赞约 14 分钟阅读
数据结构初阶:堆的实现
C算法

数据结构初阶:堆的实现

堆是一种基于完全二叉树的顺序存储结构,支持高效的插入与删除操作。通过向上调整和向下调整算法维护堆性质,可实现大根堆或小根堆。文章提供完整的 C 语言代码示例,演示初始化、Push、Pop、Top 等功能,并应用于排序及 Top-K 问题求解。重点阐述堆的数组存储特性、时间复杂度分析及代码细节。

橘子海发布于 2026/2/6更新于 2026/4/2616 浏览1 点赞约 19 分钟阅读
数据结构:二叉树、堆及遍历实现
C算法

数据结构:二叉树、堆及遍历实现

综述由AI生成阐述了树与二叉树的数据结构定义,涵盖父节点、子节点、度、深度等核心概念。详细介绍了满二叉树与完全二叉树的特性及其存储方式(顺序与链式)。重点讲解了堆(最大堆与最小堆)的构建、插入、删除及上下调整算法,并通过 TOP-K 问题演示了堆在大数据量筛选中的应用。此外,文章实现了二叉树的四种遍历方式(前序、中序、后序、层序),以及计算结点总数、叶子数、高度、查找指定值及销毁树等递归操作。所有示例代码均基于 C 语言编写,修正了部分逻辑错误以增强…

奶糖兔发布于 2026/2/6更新于 2026/4/2512 浏览1 点赞约 26 分钟阅读
五大经典排序算法详解:插入、希尔、冒泡、选择与堆排序
C算法

五大经典排序算法详解:插入、希尔、冒泡、选择与堆排序

插入、希尔、冒泡、选择和堆排序五种经典算法。插入排序适用于小规模或部分有序数据,时间复杂度 O(N^2),稳定;希尔排序通过分组增量优化插入排序,平均性能优于 O(N^2),不稳定;选择排序每次选取极值交换,效率低且不稳定;堆排序利用堆结构实现 O(NlogN) 高效排序,不稳定;冒泡排序通过相邻交换,简单但效率低,稳定。综合对比,堆排序和希尔排序在大数据量下性能更优,而插入和冒泡适合小数据或近似有序场景。所有算法空间复杂度均为 O(1…

时间旅人发布于 2026/2/6更新于 2026/4/2611 浏览0 点赞约 17 分钟阅读
基于 RT-Thread 的 STM32 开发:SD 卡与 DFS 文件系统管理
C

基于 RT-Thread 的 STM32 开发:SD 卡与 DFS 文件系统管理

综述由AI生成在 STM32 平台上基于 RT-Thread 操作系统使用 DFS 文件系统管理 SD 卡的完整流程。内容涵盖 SD 卡规格分类、CubeMX 中的 SDIO 模式配置、RT-Thread 内核参数调整(如对象名长度、线程栈大小)、BSP 层宏定义及代码实现。通过示例展示了 SD 卡挂载、文件读写及目录管理的 FinSH 命令编写方法,解决了初始化延时、内存对齐等常见问题。

芝士奶盖发布于 2026/2/6更新于 2026/4/265027 浏览487 点赞约 19 分钟阅读
单链表核心操作实现与详解
C算法

单链表核心操作实现与详解

单链表作为基础线性表,详细讲解其查找、指定位置前后插入及删除等核心操作的实现原理。通过遍历指针移动完成节点定位,分析头插尾插的特殊情况处理。代码部分提供完整的 SList.h 和 SList.c 接口定义与实现,包含内存申请释放逻辑。对比顺序表与链表在存储结构、访问效率及空间利用率上的区别,帮助读者深入理解指针操作与链表结构,夯实数据结构基础。

MongoKing发布于 2026/2/6更新于 2026/4/2614 浏览0 点赞约 25 分钟阅读
双指针算法实战:快乐数与盛最多水的容器
C算法

双指针算法实战:快乐数与盛最多水的容器

综述由AI生成双指针算法在快乐数与盛最多水的容器中应用。快乐数通过快慢指针检测循环,利用鸽巢原理判断是否收敛于 1;盛最多水的容器使用左右双指针向中间移动,根据高度较小的一侧移动以寻找最大容积。代码分别展示了 C 语言实现逻辑,包含数字平方和计算及面积最大值更新过程。

RustyLab发布于 2026/2/6更新于 2026/4/258 浏览0 点赞约 6 分钟阅读
Linux 信号机制深度剖析:从信号捕捉到 SIGCHLD 处理
C

Linux 信号机制深度剖析:从信号捕捉到 SIGCHLD 处理

综述由AI生成Linux 信号机制涉及进程间通信及中断处理。文章解析了信号捕捉流程,包括内核态与用户态切换、硬件中断与软中断机制。重点介绍了 sigaction 函数配置信号处理,以及可重入函数和 volatile 关键字在信号处理中的关键作用。最后阐述了 SIGCHLD 信号用于处理僵尸进程,通过自定义处理函数配合 waitpid 实现非阻塞子进程状态检查,避免父进程阻塞。

晚风告白发布于 2026/2/6更新于 2026/4/268671 浏览370 点赞约 52 分钟阅读
Linux 基础 IO 系列:库构建、进程地址空间及核心知识点
C

Linux 基础 IO 系列:库构建、进程地址空间及核心知识点

Linux 基础 IO 系列收官篇详解静态库与动态库的构建命令、链接方式及底层差异,剖析进程地址空间中虚拟地址与物理内存的映射关系。补充内存管理(页框、slab 分配器)、IO 数据拷贝流程、函数参数求值顺序等关键细节,并通过精选作业题巩固文件描述符、链接类型及库机制等核心知识点,帮助读者形成从代码编写到程序运行的完整认知。

ArchDesign发布于 2026/2/6更新于 2026/4/259 浏览0 点赞约 12 分钟阅读
Linux 系统编程入门:前世今生与内核发展史
C

Linux 系统编程入门:前世今生与内核发展史

综述由AI生成Linux 是一个开源免费的类 Unix 操作系统内核,由林纳斯·托瓦兹于 1991 年发布。文章回顾了 Linux 从 1969 年 Unix 诞生到现代的发展历程,包括 GNU 项目、Minix 的启发、Linux 内核的诞生及版本命名规则。内容涵盖早期协作模式、发行版的出现、企业级认可以及当前在移动设备、云计算和超级计算机中的统治地位。文章总结了 Linux 作为数字世界隐形基石的重要性及其开源协作精神。

涅槃凤凰发布于 2026/2/6更新于 2026/4/2610 浏览0 点赞约 26 分钟阅读
Linux 基础 IO 解析:从 C 库函数到系统调用,理解文件操作本质
C

Linux 基础 IO 解析:从 C 库函数到系统调用,理解文件操作本质

综述由AI生成Linux 文件操作涉及磁盘文件及设备交互,核心在于理解一切皆文件的概念。对比了 C 标准库 IO 与 Linux 系统调用 IO,阐述了两者在层级、功能、效率及兼容性上的区别。通过代码示例展示了文件打开、读写、关闭的具体实现,并解释了文件描述符、权限掩码及缓冲区机制,帮助开发者掌握底层 IO 逻辑。

PentesterX发布于 2026/2/6更新于 2026/4/259 浏览0 点赞约 24 分钟阅读
线性表、顺序表与链表详解(C 语言实现)
C算法

线性表、顺序表与链表详解(C 语言实现)

综述由AI生成线性表是由 n 个具有相同特性的元素组成的有限序列,包含顺序存储和链式存储两种物理实现方式。顺序表基于连续内存,支持 O(1) 随机访问但插入删除效率低;链表基于非连续内存,插入删除高效但随机访问慢。文章通过 C 语言代码详细演示了动态顺序表的扩容机制、单向链表的头插尾插及反转操作,并对比了两者在空间管理、缓存局部性及时间复杂度上的差异,帮助理解数据结构选型依据。

ByteFlow发布于 2026/2/6更新于 2026/4/2614 浏览0 点赞约 12 分钟阅读
归并排序非递归实现指南
C算法

归并排序非递归实现指南

非递归归并排序采用自底向上策略,从长度为 1 的子数组开始两两合并,步长翻倍直至覆盖整个数组。相比递归版本,非递归实现需手动处理边界条件,特别是当数组长度非 2 的幂次时,需修正右区间终点防止越界。核心逻辑通过循环控制步长 gap,依次合并相邻有序子序列,最终完成排序。

赛博朋克发布于 2026/2/6更新于 2026/4/2511 浏览0 点赞约 10 分钟阅读
STM32F103RC 与 TFT-LCD 电子相册开发及图片解码算法详解
C算法

STM32F103RC 与 TFT-LCD 电子相册开发及图片解码算法详解

基于 STM32F103RC 微控制器和 TFT-LCD 显示屏构建电子相册系统。通过 FATFS 文件系统读取 SD 卡中的 BMP 和 JPEG 图片,利用 LibJPEG 库实现软解码,结合 FSMC 接口驱动屏幕显示。涵盖硬件连接、工程搭建、图像缩放优化及内存管理策略,解决花屏、解码慢等常见问题,实现流畅的幻灯片播放功能。

日志猎手发布于 2026/2/6更新于 2026/4/265642 浏览364 点赞约 15 分钟阅读
LeetCode 20. 有效的括号(栈结构详解)
C算法

LeetCode 20. 有效的括号(栈结构详解)

LeetCode 20 有效的括号问题要求判断字符串中括号是否有效闭合。利用栈的后进先出特性,遍历字符串时将左括号压入栈,遇到右括号时检查是否与栈顶匹配。若匹配则弹出,否则无效。遍历结束后栈应为空。该算法时间复杂度为 O(n),空间复杂度为 O(n),适用于编译器语法检查、表达式求值及配置文件解析等场景。

abccba发布于 2026/2/6更新于 2026/4/2610 浏览0 点赞约 15 分钟阅读
Linux Socket 编程核心:深入解析 sockaddr 数据结构族
C

Linux Socket 编程核心:深入解析 sockaddr 数据结构族

综述由AI生成Linux Socket 编程中 sockaddr 数据结构族是网络通信的基础。文章详细解析了 sockaddr 通用结构、IPv4/IPv6/Unix 域专用结构及字节序处理。通过代码示例展示了 TCP 服务器创建、地址转换函数使用及多协议兼容方案。强调内存对齐、调试技巧及最佳实践,帮助开发者构建稳定高效的网络应用。

GitMaster发布于 2026/2/6更新于 2026/4/2511 浏览0 点赞约 19 分钟阅读
Linux 命令行参数与环境变量深度解析及配置实践
C

Linux 命令行参数与环境变量深度解析及配置实践

深入解析 Linux 系统中的命令行参数与环境变量机制。涵盖命令行参数的原理、选项功能实现,以及环境变量的概念、常见变量(PATH、HOME)、查看与设置方法(env、export、unset)。详细讲解通过 C 语言代码获取环境变量(getenv、environ),环境变量继承性,以及配置文件(.bashrc、.bash_profile)的修改实验。最后列举系统常用环境变量详解及内建命令,提供 Makefile 与 C 代码示例辅助理…

岁月神偷发布于 2026/2/6更新于 2026/4/2510 浏览0 点赞约 13 分钟阅读
Linux 读写锁深度解析:原理、应用与性能优化
C算法

Linux 读写锁深度解析:原理、应用与性能优化

Linux 读写锁允许多线程并发读取但独占写入。解析其底层数据结构(如 struct rw_semaphore)、API 接口(pthread_rwlock_*)及状态转换机制。通过配置管理和缓存案例展示实战用法,对比互斥锁性能优势。重点分析写者饥饿、锁升级等陷阱,并提供自旋锁和 RCU 等替代方案。总结最佳实践与调试技巧,适用于读多写少的高并发场景。

栈溢出发布于 2026/2/6更新于 2026/4/262617 浏览201 点赞约 17 分钟阅读
Linux 动态库与静态库技术详解
C

Linux 动态库与静态库技术详解

综述由AI生成Linux 动态库与静态库是程序编译链接的核心机制。静态库在编译时链接,生成独立可执行文件,适合嵌入式或独立部署;动态库在运行时加载,节省内存和磁盘空间,便于更新维护。文章详细讲解了创建步骤、编译命令(如 ar、gcc -fPIC)、链接选项及环境变量配置,对比了两者在文件大小、启动速度、依赖管理等方面的差异,并提供了实际场景示例和常见问题解决方案,帮助开发者根据需求选择合适的库类型。

abccba发布于 2026/2/6更新于 2026/4/255417 浏览45 点赞约 11 分钟阅读
上一页下一页