- 博客(22)
- 收藏
- 关注
原创 算法和数据结构--时间复杂度和空间复杂度
本文聚焦时间复杂度与空间复杂度这两个衡量算法效率的核心指标,旨在帮助读者理解其本质与应用价值。首先阐释两者的基础定义、表示方法及核心作用,解决硬件差异、数据量变化导致的算法评判偏差问题;随后详细拆解计算原则与步骤,梳理常见复杂度类型及对应场景;通过冒泡排序、二分查找等实例深化理解,探讨时间与空间的权衡逻辑,纠正常见认知误区。最终助力读者掌握复杂度分析方法,为算法选择与优化提供科学依据,提升算法思维与开发实践能力。
2026-01-06 14:53:15
837
原创 C++基础--初识C++
本文是 C++ 的核心知识点总结,聚焦其定位、特性、场景与学习法:C++ 是基于 C 扩展的静态编译型多范式语言,兼具底层高性能与高级抽象能力,核心特性包括极致效率、多编程范式支持、STL 标准库、跨平台兼容及 C 语言兼容性,现代版本以智能指针等特性优化开发。它适用于系统开发、高性能服务、游戏引擎等领域,优势是性能强、功能全,缺点为学习难、需手动管理内存。文章还对比了其与 Java、Python 的差异,梳理了从 C++98 到 C++26 的迭代脉络,给出 “循序渐进 + 实践 + 重原理” 的学习路
2025-12-27 14:30:38
646
原创 数据结构初阶知识--单链表
当我们想要保存一个整型数据时,实际是向操作系统申请了一块内存,这块内存不仅要保存整型数据,也需要保存下一个节点的地址(当下一个节点为空时,保存的地址为空)。链表中每个节点都是独立申请的(即需要插入数据时才去申请一块节点的空间),我们需要通过指针变量来保存下一个节点位置,才能从当前节点找到下一个节点。当我们想要从第一个节点走到最后一个节点时,只需要在前一个节点拿上下一个节点的地址(下一个节点的“钥匙”)即可。与顺序表不同的是,链表里的每节“车厢”都是独立申请下来的空间,我们称之为“结点/节点”。
2025-12-21 18:33:00
390
原创 数据结构初阶知识--顺序表
这是一篇专为数据结构初学者打造的入门博客。初学数据结构时,语法漏洞暴露、逻辑难以理清、代码反复报错是常事,不少人会陷入困惑与焦虑。但这并非个例,而是进阶路上的必经阶段。本文将从顺序表专题切入,梳理数据结构的核心概念、顺序表的分类与实现逻辑,拆解动态顺序表的关键接口代码。希望通过清晰的知识梳理与实用的代码示例,帮初学者攻克入门难关,同时传递坚持的力量——那些当下的难题,终将成为成长的阶梯,愿每一位学习者都能稳步前行,迎来“轻舟已过万重山”的开阔时刻。
2025-12-01 21:22:28
799
6
原创 C语言进阶知识--预处理详解
本文聚焦C语言预处理核心知识,系统解析13个关键要点。涵盖预定义符号的直接应用,`#define`定义常量与宏的语法及注意事项(如避免分号陷阱、运算符优先级问题、副作用参数风险)。对比宏与函数的优劣:宏速度快、类型兼容广,但存在代码冗余、无法调试等问题。还介绍`#`和`##`运算符用法、命名约定、`#undef`功能,以及命令行定义、条件编译的实用场景。详解头文件两种包含方式及重复引入的解决办法,简要提及其他预处理指令。全文梳理预处理关键技术,为编程中的编译优化、代码适配提供实用指导。
2025-11-26 10:40:21
969
3
原创 C语言进阶知识--文件操作
本文聚焦C语言文件操作,核心是实现数据持久化存储。文件分为程序文件与数据文件,按存储形式可分为ASCII码存储的文本文件和更省空间的二进制文件。操作流程为:用fopen函数指定路径与模式打开文件,通过文件指针管理文件信息区,操作后需用fclose关闭避免资源泄漏。文章详解顺序读写(fgetc、fprintf等)与随机读写(fseek、ftell等)函数用法,强调读取结束需通过函数返回值判定,不可直接用feof,同时提醒操作后需刷新或关闭文件以确保数据安全,为相关操作提供实用指导。
2025-11-16 10:04:19
949
1
原创 C语言进阶知识--动态内存管理
本文聚焦C语言动态内存管理,针对静态内存大小固定、无法适配运行时需求的问题,系统讲解核心内容。重点介绍malloc、free、calloc、realloc四大函数的功能、参数规则与使用要点,强调返回值检查、避免野指针等关键注意事项。梳理NULL解引用、内存泄漏等6类常见错误及规避方法,分析4道经典笔试题陷阱与修复方案。详解C99柔性数组的定义、优势及使用,对比其与“结构体+指针”的差异。最后总结C/C++程序内存区域划分,明确栈区、堆区等核心区域特点,为规范动态内存使用、避免内存错误提供全面指导。
2025-11-09 10:27:44
998
4
原创 C语言进阶知识--共用体和枚举
本文讲解 C 语言中联合体与枚举两种自定义类型。联合体与结构体形似,核心是成员共用内存,赋值一个成员会改变其他成员,成员地址相同,大小至少为最大成员大小且需对齐,对比结构体更省空间,可用于判断机器大小端、优化礼品兑换单内存,还详解其大小计算规则。枚举用于列举有限取值,默认值从 0 递增且可自定义,相比 #define,有提升可读性、类型检查、便于调试等优点,可用于表示程序状态、配置选项等,也介绍了其使用方法及注意事项。
2025-11-02 14:45:42
876
3
原创 C语言进阶知识--自定义类型:结构体
本文阐述 C 语言结构体核心知识:含类型声明(普通 / 匿名形式、自引用陷阱、typedef 用法)、变量初始化(顺序 / 指定成员 / 嵌套赋值,未初始化成员默认 0)。解读内存对齐规则,说明其硬件与性能层面原因,附优化技巧。详解 “.”“->” 访问符及优先级;对比传参方式,强调优先地址传递 + const 保障安全。还介绍位段声明、分配特性,指出跨平台问题与操作限制,兼顾原理实践,助力考试与高效数据结构设计。
2025-10-25 17:02:08
970
15
原创 计算机拓展知识--数据在内存中的存储
本文围绕 C 语言中整数、大小端字节序、浮点数的内存存储展开,结合原理、实例与拓展进行系统讲解。整数部分解析原码、反码、补码,说明补码统一符号位与数值位运算、简化 CPU 逻辑的优势,及不同整型的存储范围;大小端部分明确其定义与硬件案例,阐述对网络通信的影响及指针法、共用体法两种判断代码;浮点数部分详解 IEEE 754 标准,拆解存储与读取步骤,分析精度损失问题。文中穿插经典练习解析,结尾给出实践验证、跨平台思考等拓展学习建议。
2025-10-20 10:33:22
1210
4
原创 C语言进阶知识--内存函数
本文聚焦C语言四大内存函数,详解其使用与部分模拟实现。memcpy从source复制num字节到destination,不遇'\0'停止,重叠内存结果未定义,附int数组复制示例及模拟实现;memmove可处理重叠内存,依场景正向/反向复制,示例中数组复制输出明确,含模拟实现;memset按字节设置内存,示例将字符串前6字节改为'x';memcmp比较两指针后num字节,返回值反映大小关系,附字符串比较示例。
2025-10-12 18:00:06
1309
6
原创 C语言进阶知识--字符和字符串函数
本文阐述C语言标准库中12类字符与字符串处理函数。字符函数需含头文件<ctype.h>,含字符分类函数(如islower判小写字母)与转换函数(toupper/tolower实现大小写互转);字符串函数需含头文件<string.h>,涉及strlen(计长度,注意无符号返回值)、strcpy(拷贝含'\0')等基础函数,strncpy等安全函数,及strtok(拆字符串)、strerror(解析错误码)。文中附strlen、strcpy等函数的模拟实现,助理解底层原理、规避内存越界等风险。
2025-10-06 12:37:15
1400
9
原创 C语言进阶知识--指针(3)
本文汇总指针核心知识,含回调函数(通过函数指针调用,以计算器改造示例说明其简化冗余代码的作用)、qsort使用(整型与结构体数据排序,需自定义比较函数)与模拟实现(冒泡排序结合void*和逐字节交换,适配任意类型),对比sizeof(操作符,算内存大小)与strlen(库函数,找\0算字符串长度)的核心差异,解析数组指针(明确数组名不同场景意义及笔试题)、指针运算笔试题,该部分知识难度大,建议读者勤加练习。
2025-10-05 10:17:14
807
11
原创 C语言进阶知识--指针(2)
本文系统梳理C语言指针核心知识,从数组名本质(首元素地址及`sizeof(数组名)`、`&数组名`两大例外)切入,详解指针访问数组的底层逻辑(`p[i]≡*(p+i)`),剖析一维/二维数组传参本质,延伸至二级指针、指针数组及模拟二维数组的应用,再深入字符指针、数组指针、函数指针的定义与使用,最终以“转移表”展示函数指针数组的实践价值。文章结合实例破除数组与指针混淆、函数传参误区,助读者夯实指针基础、掌握底层逻辑,是C语言进阶的优质学习资料。
2025-10-04 10:42:59
1345
7
原创 C语言进阶知识--指针(1)
该文围绕C语言指针展开,先说明内存划分为1字节单元,其编号即地址(也称指针)。介绍指针变量:用&取变量地址,*解引用操作目标,大小依平台(32位4字节、64位8字节)。阐述指针类型意义(解引用权限、±整数步长)、void*特性,const修饰指针的不同限制。讲解指针运算(±整数、-指针、关系运算),野指针成因与规避方法,assert断言用法。最后以模拟strlen、传址调用(区别于传值)示例指针应用,助理解指针核心与基础使用。
2025-10-02 11:17:28
1179
3
原创 C语言基础知识--操作符
本文详解C语言操作符,含11类(算术、移位、位操作、赋值等)。先铺垫二进制转换、原码/反码/补码(内存实际存补码);再解析关键操作符:移位(左移补0,右移分逻辑算术)、位操作(无临时变量交换、统计二进制1个数等应用)、单目(sizeof、++--)、逗号表达式、结构成员访问(.与->);还说明优先级与结合性对计算顺序的影响,及表达式求值的整型提升、算术转换,强调规避未定义行为。核心是掌握操作符规则与底层逻辑,兼顾代码正确性与可读性。
2025-10-01 17:52:33
1307
4
原创 C语言数组与函数实践应用项目--扫雷游戏
本文是C语言经典入门项目“扫雷游戏”教程,适合小白学习函数与数组应用。采用11*11二维数组(含缓冲带规避边缘越界),双数组分工:`mine`存雷分布(`'0'`非雷、`'1'`雷),`show`存排查结果(`'*'`未排查、数字表雷数)。多文件结构清晰:`game.h`声明宏与函数,`game.c`实现初始化、布雷、排查等核心逻辑,`test.c`控制游戏流程。实现9*9棋盘、10雷基础玩法及胜负判定,附多难度、自动展开等扩展思路。代码可直接编译,逻辑严谨,助小白掌握C语言数据结构与函数封装。
2025-09-27 19:56:14
1275
2
原创 C语言基础知识--函数
本文是 C 语言函数专题指南,知识点由浅入深,既适配新手入门夯实基础,也能帮老手梳理知识体系。内容先从函数概念切入(类比数学函数,区分库函数与自定义函数),再讲解库函数(标准库来源、头文件分类、以 sqrt 为例的使用方法)、自定义函数(语法结构与加法函数案例);后续深入形参实参(临时拷贝特性)、return 语句使用规则、数组传参要点;还涵盖函数嵌套调用(如闰年判断 + 月份天数计算)、链式访问,及函数声明与定义(单 / 多文件组织),最后说明 static(修饰变量 / 函数)与 extern 的作用,
2025-09-23 13:05:42
1425
4
原创 C语言基础基础知识--数组
本文是C语言数组的全面系统讲解,内容涵盖数组核心概念、一维/二维数组的创建与初始化(含完全/不完全初始化、按行初始化等)、元素访问与遍历(输入输出)、内存存储规律(连续存储、行优先等),还详解sizeof计算元素个数的方法、C99变长数组特性,附字符两端汇聚动画、二分查找两个实操练习。内容细致入微,从基础语法规则到底层内存逻辑,从代码示例到易错点(如数组越界、函数传参数组名退化)均清晰说明,既适合新手入门掌握数组核心用法,也能帮老手巩固细节、厘清关键原理,助力不同水平学习者高效运用数组解决编程问题。
2025-09-21 18:13:22
975
3
原创 C语言基础知识--分支和循环
本文聚焦C语言结构化编程核心,围绕顺序、选择、循环三大基础结构,详解选择结构(if系列、switch)、循环结构(while、for、do-while),及关系/逻辑/条件操作符、break/continue/goto等,阐明“0表假、非0表真”的判断基础。这些是C语言编程的逻辑骨架,是实现分支(如闰年判定)、重复任务(如素数筛选)的关键,决定代码正确性与效率。内容适配新老用户:新手可借清晰语法、完整示例(含悬空else等错误演示)入门;老手能从短路求值、goto多层跳出等细节获技巧,兼具基础与进阶指导
2025-09-20 15:08:24
1439
5
原创 C语言基础知识--数据类型和变量
sizeof 在代码进⾏编译的时候,就根据表达式的类型确定了,类型的常⽤,⽽表达式的执⾏却要在程序运⾏期间才能执⾏,在编译期间已经将sizeof处理掉了,所以在运⾏期间就不会执⾏表达式了。上⾯⽰例中,尽管变量 x 的类型是 float (浮点数),但是 6 / 4 得到的结果是 1.0 ,⽽不是。上⾯⽰例中, scanf() 读取⽤⼾输⼊时, %d 占位符会忽略起⾸的空格,从 - 处开始获取数据,读。上⾯⽰例中, scanf() 的第⼀个参数 %d ,表⽰⽤⼾输⼊的应该是⼀个整数。
2025-09-18 23:18:53
1434
6
原创 初识C语言——敲开编程世界的大门
为了不再重复实现常⻅的代码,让程序员提升开发效率,C语⾔标准规定了⼀组函数,这些函数再由不同的编译器⼚商根据标准进⾏实现,提供给程序员使⽤。C语言是一门编译型语言,C语言的源代码格式为文本形式,不能为计算机所直接执行,我们程序员敲的代码电脑是看不懂的,代码要转化为汇编语言,最后还要全部都要转化为0和1这些超级简单的字符,电脑才能看得懂并执行。而这个转化的过程我们统称为。在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号括起来的,如:'a','b','@'。
2025-09-17 14:21:25
1200
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅