自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 C语言之结构体

仍然以书来举例,例如:先定义变量<1>.声明类型的同时定义变量 p1// 书名// 作者// 出版社// 定价}b1;<2>.定义结构体变量// 书名// 作者// 出版社// 定价//全局的int main()//main函数里的return 0;注意:可以看出写一个结构体变量是要带上struct的,如果我们嫌麻烦,可以用typedef一下// 书名// 作者// 出版社// 定价}b1 = {"修仙","张三","天上",99.99};

2026-04-04 17:01:03 350

原创 基础开发工具(下)

程序的发布方式有两种,debug模式和release 模式, Linux gcc/g++ 出来的⼆进制程默认是release 模式,所以要使用gdb调试,必须在源代码上成⼆进制程序的时候,加上-g 选项,如果没有添加,程序无法被编译成debug模式。由于我已经安装了git,自然是nothing to do,而未安装的,看到complete就代表安装成功了,而。<3>.在创建好的仓库里,点击克隆,再点击复制git clone +"地址"",然后在新的页面,根据需要填写仓库名称与路径,记得要勾选初始化。

2026-03-28 16:07:17 608 3

原创 基础开发工具(中)

本文介绍了Linux下的自动化构建工具make/Makefile和进度条程序的实现。首先讲解了Makefile的基本使用,包括依赖关系与依赖方法的定义、项目清理操作以及.PHONY指令的作用。然后详细说明了回车与换行的区别,并通过缓冲区刷新机制解释了输出顺序问题。最后给出了一个完整的进度条程序实现方案,包含头文件process.h、源文件process.c和主程序processmain.c。文章通过具体示例演示了如何利用Makefile自动化编译过程,以及如何实现带百分比和旋转标记的动态进度条效果。

2026-03-24 00:45:00 792 1

原创 基础开发工具(上)

在Linux下安装软件,⼀个办法是下载到程序的。

2026-03-21 11:31:34 621

原创 C++11部分内容(中)

下面的程序中很好的展示了模板和typedef时构成引用的引用时的引用折叠规则,⼤家需要⼀个⼀ 个仔细理解⼀下。

2026-03-15 15:55:36 547 2

原创 C++11的部分内容(上)

摘要:本文深入探讨了C++11中的列表初始化和右值引用两大特性。在列表初始化方面,详细介绍了{}统一初始化方式的特点、initializer_list容器的实现原理及其与传统初始化方式的区别。在右值引用方面,系统分析了左值/右值的本质区别、右值引用的语法特性、移动语义的实现原理,并通过string类的案例展示了移动构造和移动赋值如何提升程序性能。文章还对比了不同编译器对临时对象的优化策略,解释了右值引用变量具有左值属性的原因,为理解现代C++的高效编程提供了全面指导。

2026-03-14 18:38:14 622

原创 深入理解指针(1)

本文系统介绍了C语言中指针的核心概念与应用。首先通过宿舍楼案例类比内存管理,解释内存单元、地址与指针的关系,说明指针即内存地址。详细讲解了取地址(&)和解引用()操作符的使用,以及指针变量的声明和类型含义。文章分析了指针在不同平台下的大小差异(32位4字节/64位8字节),并探讨了指针运算规则(如+-整数、指针减指针等)。同时介绍了void指针的泛型特性和const修饰指针的两种用法。针对指针常见问题,重点讲解了野指针的三种成因及防范措施,assert断言的使用场景。最后通过交换变量的案例对比了传值

2026-03-08 17:55:53 562 2

原创 Linux系统的基础指令(下)

后,就创建了一个带有hello.kong的文件。而后,在再test.c中添加内容时,原先的内容就会被覆盖掉,如果想要保留原来的内容,就需要>>

2026-02-28 18:15:00 1950 1

原创 Linux系统的基础指令(上)

要安装的软件:1.Xshell8,下载安装的时候选择home/school则为免费版本。 2.购买一个云服务器,比如腾讯云,华为云,阿里云,2核2G4M的,1年费用为60~80元的即可。注意:如果Xshell8的界面会话是下图,就说明云服务器还没用连接Xshell,那我们就需要连接一下。注意:XShell 下的复制粘贴:复制: ctrl + insert (有些人的insert需要配合fn来按) 粘贴: shift + insert 但是ctrl + c /

2026-02-26 19:34:39 654

原创 AVL树的实现

b⼦树中新增结点的位置 不同,平衡因⼦更新的细节也不同,通过观察8的平衡因⼦不同,这⾥我们要分三个场景讨论。• 场景1:h>=1时,新增结点插⼊在e⼦树,e⼦树⾼度从h-1变为h并不断更新12->15->10平衡因 ⼦,引发旋转,其中12的平衡因⼦为-1,旋转后10和12平衡因⼦为0,15平衡因⼦为1。• 场景1:h>=1时,新增结点插⼊在e⼦树,e⼦树⾼度从h-1并为h并不断更新8->5->10平衡因⼦, 引发旋转,其中8的平衡因⼦为-1,旋转后8和5平衡因⼦为0,10平衡因⼦为1。

2026-02-23 15:14:33 1282

原创 操作符详细解释

其实我们经常能听到 2 进制、 8 进制、 10 进制、 16 进制 这样的讲法,那是什么意思呢? 其实2进制、8进制、10进制、16进制是数值的不同表⽰形式⽽已。⽐如:数值15的各种进制的表⽰形式:15 的 2 进制: 1111 15 的 8 进制:17 15 的

2026-02-18 14:58:18 944

原创 继承的篇章

举一个例子:下⾯我们看到Person是基类,也称作⽗类。Student是派⽣类,也称作⼦类。(因为翻译的原因,所以 既叫基类/派⽣类,也叫⽗类/⼦类)1.2.1.继承基类成员访问⽅式的变化<1>.基类private成员在派⽣类中⽆论以什么⽅式继承都是不可⻅的。这⾥的不可⻅是指基类的私有成员 还是被继承到了派⽣类对象中,但是语法上限制派⽣类对象不管在类⾥⾯还是类外⾯都不能去访问 它。<2>.

2026-02-15 14:46:21 935

原创 模板详细介绍与应用

在C++中,如果我们想要写一个关于int,double的交换函数,就需要这样写,但是我们发现这除了类型,两个函数高度的相似,虽然使用函数重载实现了,但也有一些坏处:<1>.代码复用率比较低,只要有新类型出现时,就需要我们自己增加对应的函数。<2>.代码的可维护性比较低,一个出错可能所有的重载均出错。那么能否告诉编译器一个模型,让编译器根据不同的类型利用该模型来生成代码呢?答案就是模板的出现。泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。1.1.概念函数模板代表了一个函

2026-02-12 13:55:11 909

原创 C++中string类的详细解释

的空白位置。

2026-02-05 17:45:00 1011

原创 函数的详细解释

⼀般我们在使⽤函数的时候,直接将函数写出来就使⽤了。⽐如:我们要写⼀个函数判断⼀年是否是闰年。// 逻辑:(能被4整除 且 不能被100整除) 或者 (能被400整除)return 1;return 0;printf("请输入年份: ");// 函数调用printf("%d 年是闰年。\n", year);elseprintf("%d 年不是闰年。\n", year);return 0;上面中的是函数的定义,而int ret = is_leap_year(year);

2026-02-03 17:00:24 1137

原创 类与对象(中)

则C++编译器会⾃动⽣成⼀个。

2026-01-31 05:15:00 2123 1

原创 类与对象(上)

类名 对象名(参数1, 参数2...);class Datepublic://Init: 成员函数,用于给成员变量赋值_day = day;private://成员变量,这里仅仅是声明,不占实际内存空间int _year;int _month;int _day;int main()// --- 类的实例化 ---// 这一步在栈区为 d1 分配了空间(大小通常为 12 字节)// 此时d1已经存在,但内部的 _year 等是随机值Date d1;

2026-01-29 15:15:00 492

原创 数组详细讲解

arr_name 指的是。

2026-01-29 01:15:00 610

原创 C++基础知识

函数时为函数的参数指定一个。

2026-01-26 01:30:00 926

原创 分支与循环(下)

本篇目标:学会while循环,for循环,do while循环。

2026-01-21 23:15:00 387

原创 分支与循环(上)

如果……就……如果条件判定为真则,就运行代码;不成立就直接跳过。

2026-01-19 20:45:23 926

原创 C语言的基础了解(下)

本文详细介绍了C语言中的操作符和输入函数。主要内容包括:1)赋值操作符和算术操作符(+、-、*、/、%),特别说明了整数除法会舍弃小数部分;2)单目操作符(逻辑反、负值、自增自减)的使用规则;3)逻辑运算符(&&、||、!)的真值判断;4)关系操作符(>、<、==等)的比较结果;5)强制类型转换的用法;6)scanf输入函数的使用方法、注意事项和常见问题的解决方案。文章通过具体代码示例展示了各类操作符的实际应用,为后续学习分支与循环结构打下基础。

2026-01-12 13:29:58 1019

原创 C语言的基础了解(上)

数据类型 变量名 = 初始值;声明:变量必须“先定义,后使用”。内存分配:定义时必须指定类型,以便编译器确定分配多少字节(如int分配 4 字节)。将不同的内置类型(或已定义的自定义类型)进行组合、封装或重命名。

2026-01-10 10:23:02 1398

原创 内存区域的解释

由。

2026-01-08 13:40:59 1260

原创 从二叉树的理解到代码的实现(1)

发起 preOrder(9) 调用,为其创建栈帧(复用 preOrder(8) 释放的空闲空间)→ 访问节点9 → 分别发起左、右子树的 preOrder(NULL) 调用(均创建-销毁,且两次 preOrder(NULL) 复用同一块空闲空间);创建栈帧(复用 preOrder(7) 之前释放的空闲空间)→ 访问节点8 → 分别发起左、右子树的 preOrder(NULL) 调用(均创建-销毁,且两次 preOrder(NULL) 的栈帧复用同一块空闲空间);

2026-01-07 14:05:21 853

原创 C语言堆的原理到代码

而交换之后删除堆顶数据可以获得最大值(最小值),接照这个规律依次获取次大值(次大值),最终完成排序,这也是堆的作用之一。我们已经知道堆可以通过数组来实现,但如果只是静态数组,就存在空间不足或者空间浪费过大,因此我们需要通过动态数组。通过向下建堆法与向上建堆法,可以建大堆/小堆,当a[child]>a[parent]时,为大堆,以上为堆的插入,不过是在尾部插入,但明显此时并不是堆,所以我们要通过向上调整法进行调整,下面我举例说明:假设数组元素为[3,7,6,8,9,10,17],接下来,讨论如何排序?

2026-01-03 11:11:27 781

Linux系统部分加餐课.zip

Linux系统部分加餐课.zip

2025-11-15

空空如也

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

TA关注的人

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