自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 简单介绍C++中的模板

C++中的模板:函数模板、类模板

2023-08-13 10:03:42 339

原创 Linux系统下的文件权限

Linux系统不以文件后缀来区分文件类型,当我们使用ls -l命令,会显示详细的文件信息,开头的字符串显示文件本身的权限信息。这10个字符每个都有各自的作用,开头的字符表示文件类型。Linux系统下的文件权限大体上可以分为两种:一种是人的权限,一种是文件本身的权限。

2023-07-22 10:35:24 181

原创 Linux常用指令(一)

Linux基础指令

2023-07-08 20:47:06 215

原创 类的六个默认成员函数

C++的六个默认函数

2023-07-05 10:32:32 384

原创 C++的一些基础语法

介绍C++中引入的一些基础语法:命名空间、缺省函数、函数重载、引用、inline内联函数、auto、范围for

2023-06-27 14:46:20 742

原创 排序算法思想

介绍几种常见的排序算法思想(冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序),以及他们的实现代码。

2023-06-23 16:30:47 459 1

原创 带头双向循环链表

带头双向循环链表概念:带头双向循环链表是一种数据结构,它由多个节点组成,每个节点中包含了数据和指向前一个和的指针。存在一个用来存储链表的头部信息。链表的最后一个节点指向第一个节点,形成了一个循环的结构。

2023-06-19 14:45:00 39

原创 堆的实现(以小堆为例)

堆的概念:堆是一种特殊的数据结构,是一种完全二叉树。满足一下性质:1. 父节点的值总是大于等于(或小于等于)它的子节点的值,称为大根堆或小根堆。2. 堆中的最大元素(或最小元素)总是在根节点上(根据堆的种类不同)。

2023-06-17 16:37:24 303

原创 栈和队列的介绍

栈的性质:栈是一种线性数据结构,只能在栈顶插入和删除数据。因为栈的特殊性,所以栈里面的数据遵循的规则。

2023-06-16 13:21:53 43

原创 无头单向链表

链表的概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。结构示意图:由前一个链表中的指针指向下一个链表的地址,在逻辑上是连续的。优点:1. 无头单向链表可以轻松地插入或删除链表的头部和尾部,因为它不需要像有头链表一样先找到头部节点。2. 在某些情况下,无头单向链表可以在空间上更加高效,因为它不需要额外的头节点。

2023-06-14 15:19:25 402

原创 顺序表的实现

顺序表的概念和结构:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组 上完成数据的增删查改。顺序表的接口实现:顺序表的优缺点:顺序表适合用于元素个数不会太多,需要频繁访问,而不太需要插入和删除操作的场景。

2023-06-14 14:23:58 45

原创 文件的操作

介绍文件操作

2023-06-05 14:38:15 99 1

原创 动态内存管理

在C语言中,每创建一个变量,就会在内存中根据变量类型开辟出一块空间,这块空间的大小不会根据我们的需求变大变小。就像是在编写通讯录的过程中,必须要指定好通讯录的大小,当通讯录中的人数达到最大值的时候,只能通过删除里面的联系人给新人留出空间,这在生活中岂不是很尴尬?1.扩容成功,当申请扩容的空间后面的空间满足扩容需求,增加空间,返回原空间地址;2.扩容成功当申请扩容的空间后面的空间不满足扩容需求,会在堆区重新找一块满足原空间加上扩容需求的空间,将原空间的内容复制到该空间,返回新空间的地址,并将原空间释放;

2023-06-01 09:59:16 40

原创 通讯录(动态内存管理)

联系人的信息不是单一类型,使用结构体创建一个联系人类型//创建联系人数据类型int age;}Peodata;这里我们创建一个上述联系人结构体类型的指针,用来指向动态内存开辟的空间。同时也创建一个int类型的变量,用来保存联系人的个数。创建一个int型的变量,保存通讯录的容量//创建通讯录数据类型int sz;//联系人的个数//最大容量//指向存放联系人的地址}Contacts;

2023-05-31 20:35:49 117

原创 用C语言写一个通讯录(简易版)

联系人的信息不是单一类型,使用结构体创建一个联系人类型//一个联系人的身份信息数据int age;}PeoInfo;通讯录里面既要有联系人的身份信息,也要能让人知道保存联系人的个数。这里我们创建一个上述联系人的结构体类型的数组,用来保存联系人的身份信息//通讯录的信息数据int count;//通讯录中联系人的总数//通讯录中所有人的信息}Contacts;

2023-05-30 16:13:26 329 1

原创 详解自定义类型:结构体、枚举、联合体

详解结构体、枚举、联合体

2023-05-30 11:26:39 254

原创 常用字符操作函数、内存操作函数介绍

返回值:返回遍历的字符个数,类型size_t,函数参数:操作字符串地址,类型const char*函数功能:求字符串长度功能的:通过指针遍历字符串,对指针进行解引用操作,当发现字符串中存在‘\0’时,返回遍历过的字符个数使用注意事项:size_t是一个无符号数,出现这种strlen(ch1) - strlen(ch2)使用场景时要小心。

2023-05-27 21:30:26 63

原创 三种方式实现strlen

库函数strlen是常用的字符串函数,它的功能是求输入字符串的长度,下面我介绍三种不同的求解方式,实现这个库函数的功能。

2023-05-27 07:02:32 104

原创 嵌套的指针数组程序图解,包含一级指针、二级指针、三级指针

cpp[-1][-1],相当于*(c[2] - 1),指针向前走一步得到c[1]的地址,对其解引用得到,存储的字符串常量"NEW"首字母的地址;ccp[-2],等同于*(ccp - 2),指针ccp向前走两步,得到cp[0]的地址,对其解引用操作,得到存储的c[3]地址;cpp[-1],相当于*(cpp - 1),指针向前走一步得到cp[1]的地址,对其解引用得到,存储的c[2]的地址;*(++ccp),对cp[2]的地址进行解引用操作,得到存储的c[1]的地址;用画图的方式,模拟程序的运行。

2023-05-25 22:35:38 351

原创 sizeof和strlen求一维数组、字符数组、二维数组的区别

sizeof和strlen求一维数组、字符串、二维数组的区别

2023-05-25 11:21:39 665

原创 qsort函数介绍、用冒泡排序模拟qsort

qsort是C语言封装的库函数,头文件为#include <stdlib.h>。它能实现的功能:传递一个数组,用快速排序算法将数组元素按照升序或降序的方式排序,这个数组可以是任意类型。qsort函数会根据传递的参数,人为指定采取升序的方式,还是降序的方式。函数效果如下:struct Stu//定义一个结构体数据int age;void print2(struct Stu* p, int sz)//打印结构体数组int i = 0;for (i = 0;i < sz;

2023-05-23 16:59:13 78

原创 数据的存储

这样存储是因为每个浮点数M部分都是以1.开始的,可以进行省略,这样的话就多出一位用来存储小数点后面的数据,可以使存储更精确。之所以选择补码存储,是因为使用补码可以将符号位和数值域统一处理,加减法也可以同一处理,cpu中只需要存在加法器,就可以实现加减乘除的基础运算,不需要额外元器件。一个整型具有4个字节存储一个数据,这4个字节在内存中的会产生24种排序方式,为了更方便的存取数据,人为规定了两种存储方式。值趋近于0,表示这个数为0。小端字节序列存储:将低位数字存储在低地址,将高位数字存储在高地址的存储方式。

2023-05-21 22:19:51 59

原创 扫雷(使用递归展开)

用递归展开的方式写一个扫雷游戏

2023-05-08 21:10:22 175

原创 用C语言实现三子棋(根据行列数自动判断输赢)

三子棋的运行程序。根据给定的行列数,自动判断每行、每列、对角线是否具有相同的棋子,设定不同的返回值判断输赢和平局

2023-05-06 13:45:20 496 5

原创 初识C语言(简单介绍C语言)

C语言是一门计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。由美国国家标准局为C语言,制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。C语言是一门面向过程的计算机编程语言。define定义常量//#define定义常量int main()//相当于printf("%d\n", 100)

2023-04-30 11:35:06 87

原创 三子棋棋盘的创建和初始化

三子棋棋盘的创建和初始化

2023-03-01 23:16:43 56

原创 用函数的递归完成汉诺塔游戏

用递归的方式完成汉诺塔

2023-02-28 23:07:25 107

原创 数组中的二维数

1. 二维数组的创建和初始化2. 二维数组的使用3. 二维数组在内存中的存储4. 数组作函数参数

2023-02-27 22:09:15 53

原创 数组中的一维数组

1.一维数组的创建和初始化2.一位数组的使用3.一维数组在内存中的储存

2023-02-26 20:39:01 42

原创 有关函数的基础知识

函数的嵌套使用;函数的链式访问;程序的声明;函数的递归;

2023-02-24 22:04:11 48

原创 C语言中的函数

关于函数的一些基础知识

2023-02-23 22:49:20 34

原创 goto语句

goto语句

2023-02-22 21:57:02 44

原创 做一个猜数字游戏

做一个猜数游戏

2023-02-21 22:42:08 62

原创 分支和循环语句

选择结构:符合条件1,触发结果1;符合条件2,触发结果2;循环结构:按照一定规律进行不断循环,直到达到一定的条件。C语言根据以上三种结构,构造不同的函数,解决实际问题。if、else后面默认跟1条语句,想控制多条用{}else对应的if是最近的if,不是与之对其的if。生活中的常见事情可以归类为三种结构。顺序结构:按照一定顺序进行。分支语句分为(选择结构)switch(开关)语句。do while 语句。C语言中的分支和循环。

2023-02-21 10:16:29 28

原创 三个循环练习题

三个循环练习题

2023-02-20 22:32:28 52

原创 循环结构whil、for

循环结构while、for

2023-02-19 22:03:23 80

原创 对结构体的一些理解

对结构体的一些理解

2023-02-15 22:15:44 72

原创 初学者对指针的一些简要理解

关于指针的一些理解

2023-02-14 21:44:49 47

原创 常见的操作符

常见的操作符

2023-02-13 22:43:13 45

原创 字符串、转义字符、注释、选择语句

字符串、转义字符、注释、选择语句

2023-02-12 11:38:08 47

空空如也

空空如也

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

TA关注的人

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