自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 string类

C语言,字符串时以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合oop的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。

2024-08-06 17:21:32 271

原创 模板(c++)

1、泛型编程:编写与类型无关的通用代码,是代码复用的一种手段,模板是泛型编程的基础2、函数模板2.1 函数模板的概念函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数特定类型版本2.2函数模板格式返回值类型 函数名 (参数列表){}注意:typename是用来定义模板参数关键字,也可以用class2.3函数模板的原理在程序编译的过程中,会将函数模板作为蓝图,根据后面的代码所用到的数据类型来推演生成对应的函数。用到多少种类型的数据,就会生成多少个函数。

2024-08-04 18:35:28 359

原创 类和对象3

之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有一种方式,就是初始化列表,初始化列表的使用方式是以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个“成员变量“后面跟一个放在括号中的初始值或表达式。·内部类本质也是一种封装,当A类跟B类紧密关联,A类实现出来主要就是给B类使用,那么可以考虑把A类设计为B的内部类,如果放到private/protected位置,那么A类就是B类的专属内部类,其他地方都用不了。如果一个类定义在另一个类的内部,这个内部类就叫做内部类。

2024-08-03 17:59:53 457

原创 类和对象2

如果一个构造函数的第一个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数也叫做拷贝构造函数,也就是说拷贝构造是一个特殊的构造函数。

2024-08-02 10:47:11 911

原创 类和对象~

class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。为了区分成员变量,一般习惯上成员变量会加一个特殊标识,如成员变量前面或者后面加_或者m开头,注意C++中这个并不是强制的,只是一些惯例,具体看公司的要求。

2024-07-22 18:35:28 856

原创 cPP基础

在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参,缺省参数分为全缺省和半缺省参数(有些地方把 缺省参数也叫默认参数)域影响的是编译查找时的逻辑,所有有了域隔离,名字冲突就解决了,局部域和全局域还会影响生命周期,命名空间域和类域不影响。1、定义命名空间,需要使用namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为一个命名空间的成员。2、namespace本质是定义出一个域u,这个域跟全局域各自独立,不用的域可以定义同名变量,所以rand就不冲突了。

2024-07-20 13:23:14 522

原创 栈和队列~

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的元素遵守后进先出的原则压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶出栈:栈的删除操作叫做出栈,出数据也在栈顶。

2024-06-22 12:21:05 371

原创 链表OJ-带环链表

判断是否带环:用快慢指针,快指针走得快,如果进环,会追击慢指针,会相遇。延申问题:为什么一定会相遇,有没有可能会错过,永远追不上?已经错过,进入新的一轮的追击距离变成c-1(假设c是环的长度)假设slow进环时为与fast距离为N,之间距离变化为2。假设slow进环时,fast和slow的距离为N。如果不带环,fast或fast->next为空。如果存在c是偶数且N是奇数,那么就永远追不上。每追击一次,距离缩小1,距离为0就追击上了。分为两种情况:N为偶数,N为奇数。如果c-1是奇数,下一轮就追上了。

2024-05-17 22:23:07 104

原创 小游戏--贪吃蛇

1.1贪吃蛇的地图绘制1.2蛇吃食物的功能(上下左右方向键控制蛇的动作)1.3蛇撞墙死亡1.4蛇撞自身死亡1.5计算得分1.6蛇身加速减速1.7暂停游戏。

2024-05-02 20:25:40 635 2

原创 基于顺序表实现通讯录项目

通讯录一般由姓名,性别,年龄,电话,住址等;而顺序表可以存储任意类型的数据,可以是内置类型,也可以是自定义类型(结构体就是自定义类型)在顺序表的基础上实现通讯录增加源文件contact.c 头文件 contact.h。

2024-04-14 01:07:58 530 1

原创 顺序表专题

具有一些相同特性的数据元素的有限序列,是广泛使用的数据结构常见的线性表:顺序表,链表,栈,字符串……线性表在逻辑上是线性结构,但在物理上不一定是连续的;在物理上存储时,通常以数组或链式结构的形式存储(物理结构的理解:就如一个数组,在内存中的物理空间的结构;逻辑结构:想象中或者肉眼看到的这个数据结构是线性的,就如商店排队买东西,排队就可以看做线性的,但是人可能并不是一条直线,是想象出来的)

2024-04-13 15:01:02 695 1

原创 文件操作讲解

4.3 ⽂件的打开和关闭 ⽂件在读写之前应该先打开⽂件,在使⽤结束之后应该关闭⽂件。在编写程序的时候,在打开⽂件的同时,都会返回⼀个FILE*的指针变量指向该⽂件,也相当于建⽴了 指针和⽂件的关系。每个被使用的文件件都在内存中开辟了⼀个相应的⽂件信息区,⽤来存放⽂件的相关信息(如文件的名 字,文件状态及⽂件当前的位置等)。如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失 了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化的保存,我们可以使⽤ 文件。

2024-04-10 21:47:13 825 1

原创 动态内存管理

能够灵活的申请空间。

2024-04-05 15:46:59 234 1

原创 自定义类型--联合体和枚举

像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最⼤的成员分配足够的内存空间。联合体的特点是所有成员共用同⼀块内存空间。所 以联合体也叫:共用体。给联合体其中⼀个成员赋值,其他成员的值也跟着变化。为什么是4呢,接下来我们就来探讨联合体的特点。

2024-04-04 09:30:19 640 1

原创 自定义类型——结构体

位段是专门用来节省内存的1.位段的成员必须是 int、unsigned int 或signed int ,在C99中位段成员的类型也可以 选择其他类型。2. 位段的成员名后边有⼀个冒号和⼀个数字。A就是⼀个位段类型。那位段A所占内存的⼤⼩是多少?

2024-04-03 22:10:48 1033 1

原创 深入理解指针2

数组名本来就是地址,而且是数组首元素的地址但是也有例外输出的结果是40,如果arr是数组首元素地址,那输出应该是4/8才对;有两个例外情况:### sizeof(数组名),sizeof中单独放数组名,这里的数组名表示整个数组,计算的是整个数组的大小,单位为字节### &数组名,这里的数组名表示整个数组,取出的是整个数组的地址;除此之外,任何地方使用数组名,数组名都表示首元素的地址arr和&arr的区别。

2024-03-23 22:41:11 606 1

原创 深入理解指针

在生活中相当于一栋楼中房间号,在计算机中cpu,在处理数据时,需要的数据就是在内存中读取的,处理以后的数据也会放在内存中,内存会被划分成一个一个的内存单元,每个内存单元的大小取一个字节一个比特位可以存储一个2进制的为1或0;bit——比特位;Byte——字节;1Byte=8bit;1MB=1024kB其中,每个内存单元,相当于一个学生宿舍,一个字节空间里面能放8个比特位,每个内存单元也都有一个编号,我们可以理解为内存单元的编号==地址==指针。

2024-03-21 22:58:08 1111

原创 数据在内存中的存储

整数的2进制表示方法有三种,即 原码、反码和补码 三种表示方法均有符号位和数值位两部分,符号位都是用0表⽰“正”,⽤1表⽰“负”,⽽数值位最⾼位的⼀位是被当做符号位,剩余的都是数值位正整数的原、反、补码都相同。负整数的三种表⽰⽅法各不相同。原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。补码:反码+1就得到补码。对于整形来说:数据存放内存中其实存放的是补码。在计算机系统中,数值⼀律⽤补码来表⽰和存储。

2024-03-19 16:11:24 1036

原创 内存操作函数

是针对内存块进行拷贝,从str2的位置开始向后复制num个字节的数据到str1内存位置不适合重叠内存,如果str2和str1有任何的重叠,复制的结果都是未定义的;遇到'\0'不会结束;

2024-03-17 13:19:57 350

原创 数组和函数实现:扫雷游戏

扫雷

2024-01-30 14:53:00 379

空空如也

空空如也

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

TA关注的人

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