自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++类与对象·上】从结构体到类:C++封装思想入门

本文介绍了C++中类的封装特性,从C语言结构体到C++类的演进过程。重点讲解了类的访问控制(public/private)、成员函数、this指针机制和构造函数等核心概念,并通过银行账户和汽车类等实例演示了封装的实际应用。文章对比了C与C++实现相同功能时的差异,凸显了C++封装在代码安全性和可维护性方面的优势。最后简要探讨了对象的内存布局,并预告了后续将讨论的深拷贝、析构函数等面向对象编程进阶主题。全文以建筑蓝图类比类与对象的关系,生动阐述了面向对象编程的基本思想。

2025-11-24 00:21:36 387 4

原创 从零开始学二叉树(下):链式二叉树与递归的终极修炼

一句话预告:递归不是魔法,而是“分而治之”的思维艺术;遍历不是背代码,而是模拟计算机的思考路径。

2025-11-16 00:34:47 6110 19

原创 从零开始学二叉树(中):堆与完全二叉树的奥秘

为什么完全二叉树能用数组存?堆排序为什么快?Top-K 问题为何反直觉地用小堆?这篇博客将会给你答案

2025-11-15 23:58:49 6056 21

原创 从零开始学二叉树(上):树的初识 —— 从文件系统到树的基本概念

这是一场从“文件夹”出发,通往“递归思维”的旅程。 

2025-11-15 23:04:48 6187 21

原创 数据结构精讲:从栈的定义到链式实现,再到LeetCode实战

栈,这个看似简单的数据结构,却是计算机科学中最基础、最重要的概念之一,希望这篇博客能帮助你建立起对栈的系统化认知,并激发你进一步探索数据结构的兴趣。

2025-11-11 16:15:28 1070 13

原创 数据结构精讲:从零到一搞懂队列与循环队列的底层实现

为什么顺序存储的队列会“假溢出”?循环队列如何优雅解决?附完整C语言代码解析。

2025-11-11 16:15:20 999 6

原创 数据结构杂谈:双向链表避坑指南

来讲讲双向链表,希望这篇文章对你有帮助

2025-11-08 00:13:43 1008 10

原创 不止是链:静态链表与循环链表的内存魔法

目录引言:数据结构的“因地制宜”一、静态链表的核心思想:游标(Cursor)二、静态链表的初始化:构建“备用链表”三、静态链表的插入操作:巧借“备用链表”之力1. 分配空间 (Malloc_SSL)2. 插入元素 (ListInsert)四、静态链表的删除操作:回收空间,重归“备用链表”1. 回收空间 (Free_SSL)2. 删除元素 (ListDelete)五、其他基本操作与核心优缺点计算链表长度 (ListLength)静态链表的优缺点总结六、从静态链表到循环链表:解决“单行道”的烦恼常见错误:循环链

2025-11-06 01:02:07 926 14

原创 避坑修链表:从顺序表到单链表的那点事儿(含可跑示例与小项目串联)

1. 链表的概念及结构2. 实现单链表3. 链表的分类4.链表的应用 通讯录详解

2025-10-16 12:23:45 1286 12

原创 学完顺序表后,用 C 语言写了一个通讯录

本文介绍如何用顺序表实现通讯录管理系统。顺序表是数组+长度+容量的封装,适合存储联系人数据。系统功能包括添加、删除、查找、修改和显示联系人,并支持文件持久化。实现步骤包括定义联系人结构体、顺序表结构、核心操作函数和业务逻辑。文章还分析了顺序表的优缺点,并建议后续可优化为链表或哈希表。通过这个项目,读者可以深入理解顺序表的实际应用。

2025-10-12 21:40:34 2508 17

原创 从零开始,用C语言实现经典贪吃蛇游戏(附完整代码)

看到这里,相信你已经掌握了用C语言实现贪吃蛇的完整过程。编程最重要的不是记住代码,而是理解思路和解决问题的方法。结构体与链表:管理复杂数据枚举类型:提高代码可读性动态内存管理:合理使用和释放内存系统API调用:与操作系统交互游戏循环设计:状态管理和逻辑控制学长寄语:当你看到自己写的代码变成一个可玩的游戏时,那种成就感会让你明白:所有的努力都是值得的!编程就像搭积木,开始时你可能只认识几块基础积木(语法),但随着经验积累,你会学会如何将它们组合成各种有趣的形状(项目)。

2025-10-04 01:20:34 1234 21

原创 数据结构入门:从C语言到顺序表,带你轻松入门

本文系统介绍了数据结构中的顺序表概念及应用。首先阐述了数据结构的重要性,指出它是解决数据组织问题的关键工具。重点讲解了动态顺序表这一基础数据结构,包括其结构定义、核心操作(初始化、销毁、扩容)以及基本功能实现(增删改查)。通过通讯录项目的实际案例,展示了顺序表的应用场景。文章对比了顺序表的优缺点,强调其适合频繁随机访问但插入删除不频繁的场景。最后提供了完整的动态顺序表代码实现,并鼓励读者通过实践掌握这一基础数据结构。全文采用生活化类比,帮助读者理解抽象概念,为后续学习更复杂的数据结构打下基础。

2025-10-03 00:19:54 1158 6

原创 从零开始写一个五子棋游戏!手把手教你用 C++ 实现控制台版五子棋(附原码)

本文介绍了一个基于C++实现的命令行五子棋游戏。游戏采用19x19棋盘,使用二维数组存储棋子状态,通过整数变量记录当前回合。核心功能包括:初始化棋盘、玩家落子、胜利判断(横向/纵向/斜向检查五连珠)、清屏与暂停等交互功能。游戏主循环实现双方轮流落子,并包含输入验证和错误处理。程序还设计了主菜单界面,支持开始游戏、设置和退出功能。该实现适合编程初学者学习基础语法、数组操作和函数设计,完整代码提供了详细的注释和跨平台支持。

2025-09-26 13:46:56 1526 7

原创 C++入门指南:从零开始,做一名优秀的程序员

最近这段时间也是开始接触C++了,同时也在接触数据结构,真的是比较忙啊,过俩天在更新《数据结构杂谈》的内容,今天先更新C++的。目前我学习C++的方式主要是看书,在B站大学里学习文章后半段内容会推荐一些C++的书籍,感兴趣的可以看一下。我特别想跟大家分享一下我的学习心得。今天,我将用最通俗易懂的语言,带你们走进C++的奇妙世界,让C++不再那么神秘莫测。无论你是编程小白,还是刚接触过一点编程,这篇博客都会让你对C++有一个全新的认识。缺省参数是指在函数声明或定义时,给参数指定一个默认值。

2025-09-24 18:18:07 1388 7

原创 C语言入门指南:联合体与枚举

本文介绍了C语言中两种重要的自定义数据类型:联合体(Union)和枚举(Enum)。联合体通过共享内存空间来节省内存,所有成员共用同一块内存,修改任一成员会影响其他成员的值,适用于需要极致优化内存的场合。枚举则为整型常量赋予有意义的名称,提高了代码的可读性和可维护性,特别适合表示固定选项的场景。文章通过生动的比喻和代码示例,详细讲解了二者的特点、使用方法和实际应用价值,帮助读者理解如何利用这些特性编写更高效、更清晰的代码。

2025-09-20 15:46:15 1784 2

原创 C语言入门指南:从0开始,手把手教你搞懂结构体

《结构体完全指南》是一篇面向C语言初学者的详细教程,从基础概念到高级应用全面解析结构体。文章将结构体比喻为"数据收纳盒",讲解其声明、初始化、成员访问等基础操作,并深入探讨内存对齐、结构体传参等进阶内容。重点包括:结构体的必要性(管理相关数据)、声明与初始化方法、点操作符访问成员、匿名结构体与自引用(链表基础)、内存对齐原理(四大黄金法则)、高效传参技巧(指针优于值传递),以及位段的内存压缩技术。教程强调实践,通过大量代码示例和比喻帮助理解,同时指出位段的跨平台风险,适合希望系统掌握结构

2025-09-19 22:00:00 1143

原创 C语言入门指南:内存操作函数详解

一句话建议:如果你不确定内存是否会重叠,无脑使用memmove!它在功能上完全兼容memcpy,只是在有重叠时多做了一点判断,安全性满分。希望这篇博客能帮你彻底掌握这四个强大的内存函数!它们是C语言底层操作的基石,理解它们,你的编程功力会更上一层楼!

2025-09-19 12:52:34 932

原创 C语言入门指南:字符函数和字符串函数

errno的值只是一个数字(如2),返回,这使得程序的错误信息变得人性化,极大地提升了调试效率。引言:在C语言编程中,字符(char)和字符串(string)是最核心的数据类型之一。无论是读取用户输入、解析配置文件、处理网络数据包,还是进行简单的文本格式化,我们几乎无时无刻不在与它们打交道。C语言标准库为我们提供了一套精巧而强大的函数集合,主要位于<ctype.h><string.h>和<errno.h>等头文件中。这些函数是高效、可靠地操作字符串的基石。

2025-09-13 23:48:58 1819 1

原创 C语言入门指南:指针

指针不可怕,可怕的是不敢碰它。只要你愿意动手画图、写代码、调试错误,指针终将成为你编程路上最锋利的武器!下期预告:字符函数和字符串函数。

2025-09-12 08:15:00 1220

原创 C语言入门指南:函数与函数递归

本文介绍了C语言中函数和递归的核心概念。函数作为代码复用的基本单元,其结构包含返回值类型、函数名、参数列表和函数体,通过形参和实参传递数据。数组作为函数参数时实际传递的是指针,需注意其特性。递归则是函数调用自身的编程技巧,必须具备递归基和递归关系两大要素,通过阶乘和斐波那契数列示例展示了递归的实现方式。文章还分析了递归的优缺点,并与循环进行了比较,指出应根据问题特点选择合适的方法。最后强调多实践以掌握这些基础而重要的编程概念。

2025-09-10 21:59:29 1203

原创 C语言入门指南:操作符(二)

本文介绍了C语言中常见操作符的使用方法及注意事项。主要内容包括:1.赋值操作符(=、+=、-=等)的用法及示例代码;2.特殊操作符如三元条件操作符、sizeof和逗号操作符的使用场景;3.操作符优先级和结合性的重要规则;4.常见的编程陷阱,如自增/自减操作符的前后缀区别、除零错误和整数溢出问题。文章通过具体代码示例说明了各类操作符的正确使用方法,并强调了在复杂表达式中使用括号明确计算顺序的重要性,帮助开发者避免常见错误,提高代码质量。

2025-09-01 16:35:30 1125 1

原创 C语言入门指南:操作符(一)

摘要:本文介绍了计算机操作符中与二进制相关的知识。首先讲解了不同进制(2/8/10/16进制)的表示方法及转换规则,重点阐述了二进制与十进制之间的转换原理。接着说明整数的三种二进制表示方法:原码、反码和补码,并解释计算机使用补码存储的原因。最后详细介绍移位操作符(<<和>>)和位操作符(&、|、^、~)的使用方法,并通过实例演示了如何利用位操作实现变量交换。

2025-08-23 23:55:16 1685

原创 VS实用调试技巧

这篇文章介绍了程序调试的相关知识。首先解释了"bug"一词的起源,源自1947年格蕾丝·赫柏在计算机中发现飞蛾导致故障的事件。然后详细讲解了debug的概念、方法和重要性,强调调试时要承认错误并细致检查。文章还对比了Debug和Release两种编译模式的区别,介绍了VS中常用的调试快捷键(F9、F5、F10、F11等)和监视窗口的使用技巧。最后分类说明了常见的编程错误类型(编译型、链接型、运行时错误),并通过一个阶乘求和的实例演示了如何通过调试发现并修复问题。文章强调调试能力对程序员理

2025-08-20 19:43:44 10855

原创 C语言入门指南:数组(二)

全文系统性地介绍了二维数组的一些核心知识点

2025-08-18 01:28:35 11447

原创 C语言入门指南:数组(一)

本文介绍了C语言中一维数组的基本概念和使用方法。主要内容包括:数组的定义和特点(同质性、连续存储、固定长度);一维数组的创建、初始化和类型说明;数组元素的访问与操作(下标访问、遍历打印、输入);数组在内存中的连续存储特性(通过地址分析);以及使用sizeof计算数组元素个数的方法。文章通过具体示例代码,详细说明了数组的声明、初始化、访问等基本操作,并强调了数组在内存中的连续存储特性及其访问效率优势。

2025-08-16 18:27:51 1125

原创 制作一个“数字炸弹“的游戏

本文分享了一个用C语言实现数字炸弹游戏的过程。作者通过朋友聚会的游戏受到启发,尝试用编程实现该游戏。

2025-08-14 18:50:28 1005 1

空空如也

空空如也

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

TA关注的人

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