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

原创 Linux基础开发工具(yum与vim)

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.

2023-08-11 10:32:49 87 1

原创 C++的string类基础接口模拟实现

不多废话 直接上代码

2023-08-05 19:28:07 45 1

原创 初识C++模版

class 类模板名// 类内成员定义// 动态顺序表// 注意:Vector不是具体的类,是编译器根据被实例化的类型生成具体类的模具public :, _size(0){}// 使用析构函数演示:在类中声明,在类外定义。~Vector();// 注意:类模板中函数放在类外进行定义时,需要加模板参数列表if(_pData)

2023-07-31 12:09:27 33 1

原创 C/C++内存管理

int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的// Cfree(p3);delete p4;free(p5);return 0;

2023-07-23 17:11:49 37 1

原创 Linux权限管理

超级用户:可以再linux系统下做任何事情,不受限制普通用户:在linux下做有限的事情。超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。:su [用户名]:切换用户。例如,要从root用户切换到普通用户user,则使用 su user。要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

2023-07-21 22:54:37 35 1

原创 类和对象(下)

注意 : 引用成员变量 const成员变量 自定义类型成员(且该类没有默认构造函数时) 静态成员为所有类对象所共享,不属于某个具体的对象,存放在静态区静态成员变量必须在类外定义,定义时不添加static关键字,类中只是声明 类静态成员即可用 类名::静态成员 或者 对象.静态成员来访问 静态成员函数没有隐藏的this指针,不能访问任何非静态成员静态成员也是类的成员,受public、protected、private 访问限定符的限制友元函数可以直接访问类的私有

2023-07-14 14:18:08 36 1

原创 类与对象(中)

函数名与类名相同。无返回值。对象实例化时编译器自动调用对应的构造函数。构造函数可以重载。 5. 如果类中没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,一旦 用户显式定义编译器将不再生成。 6. 编译器自动生成的默认构造函数对内置类型不做处理,对自定义类型回去调用它自己的构造函 数。 7. 无参的构造函数和全缺省的构造函数都称为默认构造函数,并且默认构造函数只能有一个。 注意:无参构造函

2023-07-12 22:10:07 42 1

原创 类与对象(上)

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

2023-07-07 23:11:48 183 1

原创 命名空间 缺省函数 引用 inline

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。// bit是命名空间的名字,一般开发中是用项目名字做命名空间名。// 我们上课用的是bit,大家下去以后自己练习用自己名字缩写即可,如张三:zs// 1. 正常的命名空间定义// 命名空间中可以定义变量/函数/类型注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中2.2 命名空间使用命名空间中成员该如何使用呢?比如:int val;

2023-07-04 22:55:12 44

原创 初阶二叉树

现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统 虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。这里我们从倒数的第一个非叶子节点的 子树开始调整,一直调整到根节点的树,就可以调整成堆。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对 应时称之为完全二叉树。若规定根节点的层数为1,具有n个结点的满二叉树的深度,h= . (ps: 是log以2为底,n+1为对数)

2023-06-26 10:05:45 37 1

原创 数据结构栈和队列

循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数 组头上出数据,效率会比较低。栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的 代价比较小。队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出。入队列:进行插入操作的一端称为队尾。出队列:进行删除操作的一端称为队头。

2023-06-25 14:15:19 44

原创 顺序表和链表

另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而 简单了,后面我们代码实现了就知道了。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链 接次序实现的。

2023-06-10 23:27:09 47

原创 程序环境和预处理

_FILE__ //进行编译的源文件__LINE__ //文件当前的行号__DATE__ //文件被编译的日期__TIME__ //文件被编译的时间__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义这些预定义符号都是语言内置的,可以直接使用。eg:这样在预处理阶段,会将源文件中的MAX替换成500。eg:这个宏接受参数x和y此时把ADD(2,3)置于程序中 预处理器就用2+3将其替换。

2023-06-05 23:59:16 43 1

原创 C语言文件操作

磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件。

2023-06-04 23:58:24 53 1

原创 动态内存管理

情况2 :当 是情况2 的时候,原有空间之后没有足够多的空间时,扩展的方法是:在堆空间上另找一个合适大小的连续空间来 使用。这个函数调整原内存空间大小的基础上,还会将原来内存中的数据移动到 新 的空间。与函数 malloc 的区别只在于 calloc 会在返回地址之前把申请的空间的每个字节初始化为全0。情况1 :当是情况1 的时候,要扩展内存就直接原有内存之后直接追加空间,原来空间的数据不发生变化。函数的功能是为 num 个大小为 size 的元素开辟一块空间,并且把空间的每个字节初始化为0。

2023-05-31 00:01:02 61 1

原创 通讯录改造

对前俩期的通讯录代码使用动态内存和文件操作进行优化

2023-05-30 20:12:07 89 1

原创 自定义类型:结构体,枚举,联合

自定义类型:结构体,枚举,联合

2023-05-27 17:35:55 54 1

原创 用C语言完成通讯录的简单实现

使用C语言完成通讯录的基本实现

2023-05-27 16:55:28 152 1

原创 字符串和内存函数

一些字符串相关的内存函数讲解以及模拟实现

2023-05-25 23:17:10 75 1

原创 数据在内存中的存储形式

数据在内存中的存储形式

2023-05-11 21:16:55 138

空空如也

空空如也

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

TA关注的人

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