自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C/C++内存管理

对于自定义类型来说new和delete相较于malloc等C语言中的函数有哪些优势呢?在C++中,引入了类和对象的概念,所以需要像new和delete这种可以自行调用类中的构造函数和析构函数,使用方便并且更适配C++。

2023-09-25 12:48:24 287

原创 C++初步认识模板

这次要向大家介绍C++中的模板,通过认真阅读这篇blog相信一定会对大家对模板有一定的认识,能够初步使用模板。class 类模板名....

2023-09-24 16:24:09 126

原创 (C++prime)类与对象(下篇)

友元函数的调用和普通函数的调用方式一样,但是一个的友元函数可以在函数体内直接调用这个类的对象的私有成员,它是在类外部定义的普通函数,不属于任何类,但是需要在类的内部声明,声明时需要加friend关键字。内部类是一个独立的类,它不属于外部类,不能通过外部类的对象去访问内部类的成员,外部类没有任何权限访问内部类的成员。在创建对象时,编译器通过调用构造函数,给对象中各个变量一个合适的初值,但是虽然构造函数调用后,对象中已经有了初值,但是不能将其成为对对象中的成员变量进行初始化,

2023-09-19 00:51:40 119

原创 Linux系统C/C++调试-gdb的使用

gdb binFile 开始调试已经编译好的程序ctrl + d 或 quit 退出list / l + 行号 显示binFile源代码,接着上次的位置往下列,每次列10行。list / l + 函数名 列出某个函数的源代码r / run 运行程序(类似于vs的F5)n / next 单条执行(类似于vsF10的逐语句执行)s / step 单步执行(类似于vsF11的逐过程执行)b / break + 行号 在某一行处设置断点b / break + 函数名 在在

2023-09-18 23:03:03 151

原创 (C++prime)类与对象(中篇)

4.编译器生成的默认拷贝构造函数已经可以完成字节序的值拷贝了,这在像日期类中直接使用就可以,但是是在所有的类中都可以直接用吗?显然是不是的。例如:栈,链表等动态开辟空间,消耗内存资源的数据结构简单的值拷贝显然是行不通的,还需要自行实现深拷贝。

2023-09-13 10:14:32 203 1

原创 常见排序算法的实现

1.元素集合越接近有序,直接插入排序的时间效率越高2.时间复杂度:O(n^2)3.空间复杂度:O(1)4.稳定性:稳定1.希尔排序是对直接插入排序的优化。2.当gap > 1的时候都是预排序,目的是让数组更接近有序,这样就可以加快数组排序的效率。整体而言可以达到优化的效果3.希尔排序的时间复杂度的不好计算,因为gap的取值方法很多,导致很难计算。以这段代码gap的取值方式暂时按照O(n^1.25)到O(1.6 * n^1.25)来算4.稳定性:不稳定。

2023-09-11 00:28:37 28

原创 (C++prime)类与对象(上篇)

/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{ }中为类的主体,注意类定义结束后不要忘记后面的分号。类体中的内容为类的成员:类中的变量为类的属性,类中的函数称为类的方法或者类的成员函数1.声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数来处理public:char* _sex;int _age;//声明和定义全部放在类体中·

2023-09-07 18:08:44 117 1

原创 DS奇妙之旅-二叉树

树是一种的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。有一个特殊的节点,称为根节点,根节点没有前驱节点。除根结点以外,其余节点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1

2023-07-07 12:39:10 84 2

原创 带你认识新朋友--链表

带大家认识数据结构的新朋友-链表

2023-05-23 15:46:06 185 1

原创 C语言预编译详解

_FILE__ //进行编译的源文件__LINE__ //文件当前的行号__DATE__ //文件被编译的日期__TIME__ //文件被编译的时间__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义这些预定义符号都是语言内置的语法: #define name suff注意:在使用#define 定义标识符的时候,最后不要加上;#define 机制包括了一个规定,允许把参数替换到文本中,这种实现通常成为宏或定义宏下面是宏的申明方式。

2023-04-25 15:55:28 1774 3

原创 C语言文件操作

在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。

2023-04-09 19:24:23 1141

原创 结构体+位段+枚举

1.结构体📌📌1.1 结构体的声明✈️✈️1.1.1 结构体的完全声明🚀结构体是一种自定义的类型,🔦🔦结构体是将不同类型的数据按照一定的功能需求进行整体封装,封装的数据类型与大小均可以由用户指定。那么又该如何声明一个结构体呢⁉️⁉️⁉️声明一个结构体如下:struct 结构体名成员列表对于s1来说,s1是全局变量❗❗❗然而s是一个局部变量

2023-03-21 12:52:41 72 2

原创 字符串\内存函数详解

C语言是一门偏底层的编程语言,就是这样的特性让他可以直接对计算机的内存进行操作,这便衍生出了一系列如memset,memmove 等对内存进行操作的函数,同时在C语言中不同于C++和Java这样的高级语言,有着字符串String类,但是也同样有着对字符串类型操作的需求,这便应运而生string.h的库函数。那么在本次的博客中,我们将对字符串函数和内存函数进行详细的讲解,并且对其中的一部分进行模拟实现。

2023-03-16 20:50:17 146 4

原创 scanf那些你不知道的用法

canf() 控制字符串的完整写法为:其中,{ } 表示可有可无。各个部分的具体含义是:type表示读取什么类型的数据,例如 %d、%s、%[a-z]、%[^\n] 等;type 必须有。width表示最大读取宽度,可有可无。*表示丢弃读取到的数据,可有可无。

2023-03-05 15:29:20 860 8

原创 深度剖析数据在内存中的存储(C语言)

在初阶C语言的学习中,我们对数据存储有了一个初步的认识,但为了提升自己的水平让自己可以对数据存储原理有更深刻的认识我们在此再对不同类型的数据如何存储进行更深度的剖析。在此次学习后我们可以更深刻的掌握数据存储原理,并且可以更灵活的运用不同类型的数据。

2023-02-24 18:37:09 147 8

原创 让你学会运用位操作符:对我很陌生?我们来熟悉熟悉

在C语言中有众多的操作符,在认识这么多操作符的过程中,最让我感到陌生的便是跟二进制有关的位操作符和移位操作符,这两种操作符看似简单可却很难联想到如何去使用它们,那么现在我们就来剖析这几种跟二进制有关的位操作符。

2023-02-10 01:30:22 132 6

原创 使用结构体时没有可用成员问题发现与解决

今天再写单向链表的时候写函数时遇到了在结构体变量后输入‘.’左下角显示没有可用成员的问题,困扰了我很久,一度要把我逼疯,再看错误报告的时候,也没有找出任何的问题。由于typedef的性质导致在它后面少了分号也不会报错,因为它会一直找到它后面距离它最近的‘;’再加上分号之后成功解决了问题。希望我的这次踩雷可以帮助到大家不要再遇到我这样的问题,真的会逼疯人的啊。在困扰我半个小时濒临崩溃的时候,终于发现了。我在typedef后面忘了加‘;乍一看真的不知道有什么问题。再来看看结构体的定义部分。

2023-02-02 21:07:18 891 2

原创 兴趣学C:扫雷小游戏

在上一节中我们成功实现了三子棋小游戏,玩上几遍是不是感觉有些把子无聊了,没有关系,今天给家人们整个难度大一点的---扫雷,同样这个游戏也是和三子棋一样,不需要很多的基础便可以做出来,也是只需要系统性的学习到数组便可以实现。这次我们准备将游戏分为三个难度等级,分别为Eaxy,Medium,Expert,游戏规模也分别为9x9大小,10个雷、16x16大小,40个雷、16x30大小,99个雷。

2023-01-29 18:02:40 179 6

原创 兴趣学C:三子棋小游戏

相信大家在学习C语言的过程中,有时会感觉到有一些枯燥切乏味,今天就在这里教大家用C语言实现一个简单的小游戏三子棋,这个项目不需要很多的基础,只要学到了数组便可以实现,让我们在学习C语言的过程中可以获得更大的乐趣。

2023-01-20 23:19:57 96 1

原创 线性表之顺序表详解

线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。

2023-01-13 12:34:37 160 7

原创 C语言快速进阶C++(基本篇+STL篇)

C语言快速进阶C++(基本篇+STL篇)用C++做题的好处using namespace stdcin,cout头文件变量声明bool变量const定义常量string类结构体引用&vectorsetmap(键值对)stack(栈)queue(队列)unordered_map和unordered_set(无序键值对和无序集合)

2022-12-24 19:53:15 2210 5

原创 指针处理链表

C语言中链表所带来的关系有些许复杂,现在对链表创建以及输出做一个记录,以便于以后进行复习,并且更清楚的认识链表。链表有一个“头指针”变量,图中以head表示,它存放一个地址,该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:(1)用户需要用的实际数据;(2)下一个结点的地址。head指向第1个元素,第1个元素又指向第2个元素……直到最后一个元素,该元素不再指向其他元素,它称为“表尾”,它的地址部分放一个“NULL”

2022-12-16 21:02:52 375 3

原创 C语言练习:输入5个学生3门课程的成绩,分别用函数实现以下功能:(1)计算每个学生的平均分。(2)计算每门课程的平均分。(3)求出15个成绩中最高的分数和所对应的学生和课程。

输入5个学生3门课程的成绩

2022-12-08 21:31:53 5856

原创 大厂offer养成计划

未来规划

2022-12-02 00:18:03 291 2

空空如也

空空如也

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

TA关注的人

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