自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KMP算法详解及C语言实现

摘要:KMP算法是一种高效的字符串匹配算法。其核心思想是利用已匹配信息避免重复比较,通过预处理模式串生成next数组,记录最大相同前后缀长度。当匹配失败时,模式串滑动到next数组指定位置继续匹配,实现O(n+m)的时间复杂度。算法实现包括:1)计算next数组;2)利用next数组进行匹配查找。相比暴力匹配算法(O(n*m)),KMP显著提升了效率。

2025-12-06 13:42:45 689

原创 Linux基础命令整理

本文总结了20个常用Linux命令及操作技巧,涵盖文件管理、目录操作、权限控制等核心功能。主要内容包括:1) 基础命令如ls、cd、pwd、mkdir;2) 文件操作命令touch、cat、cp、mv、rm;3) 查找命令which和find;4) 文本处理工具grep、wc;5) 特殊符号管道符、重定向符;6) 权限管理命令chmod和chown;7) 实用快捷键如Ctrl+C终止程序、Ctrl+R搜索历史命令等。这些命令组合使用可完成90%的日常Linux系统操作,是运维和开发人员必须掌握的技能。

2025-11-17 19:23:22 1023

原创 C语言进阶——宏

本文主要介绍了C语言中宏定义的相关知识,包括宏的定义和使用、替换规则、与函数的对比等。首先阐述了无参宏和带参宏的定义方式及使用场景,详细说明了宏的替换规则。其次对比了宏和函数在代码长度、执行速度、操作符优先级等方面的差异。然后介绍了#undef、#和##运算符的用法,以及条件编译指令#if、#ifdef等的使用。最后讲解了预定义符号和offsetof宏的实现原理,包括自定义MY_OFFSETOF宏的方法。全文系统性地介绍了宏在C语言预处理阶段的各种应用技术。

2025-10-30 23:22:08 1040

原创 C语言进阶——文件的打开与读写

本文介绍了C语言文件操作的核心概念与函数。主要内容包括:1)文件分类(程序文件与数据文件);2)文件指针与FILE结构体;3)文件打开关闭函数(fopen/fclose)及其注意事项;4)常用读写函数(fgetc/fputc/fgets/fputs/fscanf/fprintf/fread/fwrite)的功能与用法;5)文件随机读写函数(fseek/ftell/rewind);6)字符串格式化函数(sscanf/sprintf)。

2025-10-27 18:32:31 544

原创 C语言进阶——动态内存管理

本文系统介绍了C语言动态内存分配的核心概念与实现方法。主要内容包括:1.动态内存分配原理,通过malloc、calloc、realloc和free等函数实现运行时内存管理;2.详细解析各内存分配函数的使用方法及注意事项,包括参数设置、返回值处理和内存释放规范;3.列举动态内存常见错误类型,如空指针解引用、越界访问、重复释放等;4.介绍C99标准引入的柔性数组特性,分析其内存管理优势和访问效率。

2025-10-26 12:50:44 951

原创 C语言常用内存函数归纳

本文介绍了C语言中三个重要的内存操作函数。memcpy用于内存区域的非重叠复制,需要保证目标空间足够且区域不重叠;memmove功能类似但支持重叠区域的复制;memcmp用于比较两块内存区域的内容,按字节比较指定长度。三个函数都定义在string.h头文件中,使用时需注意参数有效性、内存重叠和越界访问等问题。mem系列函数与字符串处理函数的主要区别在于它们严格按字节操作,不受'\0'字符影响。

2025-10-25 18:32:45 710

原创 C语言常用字符串函数归纳

本文系统介绍了C语言中10个常用的字符串处理函数,包括函数定义、原型、示例和注意事项。主要内容包括:1. 字符串长度计算(strlen)和复制(strcpy);2. 字符串连接(strcat)和比较(strcmp);3. 带长度限制的安全版本(strncpy、strncat、strncmp);4. 字符串查找(strstr)和分割(strtok);5. 错误信息处理(strerror)。每个函数都强调了关键注意事项,如缓冲区大小、空字符处理、内存重叠等安全问题,为C语言字符串操作提供了全面的参考指南。

2025-10-25 15:38:03 561

原创 C语言进阶——什么都能排的冒泡排序

文章重点讲解了如何设计类似qsort的通用冒泡排序函数bubble_sort,包括:1)使用void接收任意类型数据指针;2)通过char*指针和元素宽度实现元素定位;3)编写通用比较函数和逐字节交换的swap函数。最后通过结构体类型测试验证了该通用排序函数的有效性。文章从原理到实现详细阐述了泛型排序的设计思路。

2025-10-17 14:51:44 490

原创 C语言入坑小游戏2——扫雷(进阶版)

C语言写扫雷

2025-10-03 14:19:51 939

原创 C语言入坑小游戏——“井”字棋

本文介绍了n*n井字棋游戏的编程实现方法。游戏采用C语言编写,支持自定义棋盘大小。

2025-09-29 21:38:22 679 1

空空如也

空空如也

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

TA关注的人

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