- 博客(6)
- 收藏
- 关注
原创 深度解析C标准库:从函数调用到自主实现
本文介绍了C语言中常用的字符串处理函数及其模拟实现方法,包括: strcpy/strncpy - 字符串复制函数,详细解析了函数原理并实现了my_strcpy/my_strncpy strcmp/strncmp - 字符串比较函数,通过ASCII码逐字符比较,给出了模拟实现方案 strlen - 字符串长度计算函数,演示了计数器的实现方式 strstr - 子串查找函数,阐述了双指针遍历的查找逻辑 memcpy/memcmp - 内存块操作函数,说明了字节级复制和比较的实现 每个函数都包含:功能说明、原型分
2025-07-03 10:54:14
651
原创 深入理解指针
指针是C语言中的核心概念,本质上是存储内存地址的变量。本文系统讲解了指针的相关知识:1. 指针基础:指针变量定义与解引用操作、指针运算(加减整数/指针比较)2. 特殊指针类型:void*指针的特性与用途、const修饰指针的两种形式3. 指针应用:传址调用机制、指针与数组的关系、二级指针概念4. 高级指针:字符指针、数组指针、函数指针及其数组的使用5. 实践技巧:qsort函数实现原理、回调函数的编程范式文章通过代码示例和内存示意图,深入浅出地展示了指针的工作原理和实际应用场景,同时强调了野指针风险防范的重
2025-06-22 21:45:17
1204
2
原创 C语言qsort函数使用详解
qsort是C标准库中的快速排序函数,支持对任意数据类型进行排序。其核心是通过回调函数实现泛型排序,使用时需提供数组指针、元素数量、元素大小及自定义比较函数。比较函数根据不同数据类型定制:整数需注意溢出风险,浮点数要考虑精度问题,字符串需使用strcmp,结构体则需指定排序字段。示例展示了int、double、char*和结构体类型的比较函数实现方法。qsort的强大之处在于其通用性,但使用时需注意类型匹配和安全问题。
2025-06-21 16:00:37
369
1
原创 C语言文件操作详解
1. 文件可以看做成一个装有数据的容器,本质上它是一个命名的,存储在计算机的存储介质(如硬盘,U盘、光盘、网络存储等)上的相关数据集合。2.文件是信息的载体,它是保存信息(数据)的载体,这些信息可以是各种形式,比如文本(你写的代码,笔记······)、图片、音频,视频等3.文件具有持久性保存的特性,存储在存储介质中,不会由于断电导致数据丢失。
2025-06-15 18:16:33
1291
1
原创 结构体内存对齐与大小计算
当数据未对齐时(比如一个4字节的int变量起始地址为0x0003),CPU需要执行两次内存访问:第一次读取0x0000-0x0003,第二次读取0x0004-0x0007,然后将两次读取的结果拼接出目标数据。存放在地址为对齐数(此处为4)的整数倍的位置,向下遍历,找到地址为4的倍数的位置,此时存放在地址 '4' 位置上。,可以得出该结构体总大小为4的整数倍,恰好此时结构体总大小为8,正好是4的倍数,所以整个结构体大小就为8.存放在地址为对齐数(此处为1)的整数倍的位置,则存放在地址 '1 '处。
2025-06-08 11:57:13
1030
1
原创 基于C语言的扫雷游戏系统设计与实现
首先定义两个二维数组,mine_Board和show_Board,一个用于存储地雷分布,一个用于存储排查雷的信息和展示给玩家的棋盘。定义三种难度的地雷数量,增加游戏挑战性。// 难度设置:初级10雷,中级20雷,高级35雷实际游戏区域是9x9(ROW x COL),但创建数组时使用11x11(ROWS x COLS),多出来的两行两列作为边界,简化边界检查。// 游戏区域大小:9x9,但加上边界后为11x11。
2025-06-05 00:26:56
804
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人