自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Linux】进程的地址空间

这种行为是不建议的,因为进程内的数据量很大,并且也不是所有的数据都需要修改,更加浪费空间与时间。我们知道代码是只读的,子进程会继承父进程的数据,但是数据应该是可以修改的,那子进程修改数据不应该影响父进程的数据,所以子进程和父进程的g_val不能是同一个变量。可以看出,起初子进程和父进程都认为g_val值为100,且g_val地址相同,但当一段时间后子进程修改g_val的值后,子进程检测到的g_val值确实是修改后的值,但是父进程检测到的g_val确实修改前的值。在32位平台下,程序的地址空间大小为1G。

2024-04-19 19:50:02 923 1

原创 【Linux】命令行参数和环境变量

export是指令,在执行的时候应该创建子进程,又因为进程具有独立性,父进程是不能看见子进程的定义的变量及对数据的修改的,那么这样的话echo $HELLO指令执行后应该什么也找不到的,即不应该被bash看到所导的变量。命令中启动的程序,都会变成进程,并且其实是bash的子进程。导入时不加export时,变量仍会被导入,但是使用env并不会显示出该变量,而使用echo $XXX却能查找的,将这种称为本地变量。我们平时写的main函数都是没有参数的,但其实下面的写法也是正确的。命令行会携带很多的选项。

2024-04-15 20:55:33 729 1

原创 【类与对象 -2】学习类的6个默认成员函数中的构造函数与析构函数

我们忘记定义构造函数时执行程序,发现可以正常运行,这是因为编译器会自动生成一个默认构造函数,但是看运行结果截图我们可以发现编译器没有对参数进行初始化,_year、_month、_day都是随机值。那么编译器生成的默认构造函数有什么用呢?C++中把类型分成内置类型(基本类型)和自定义类型。内置类型就是语言提供的数据类型,像int/char/double/指针等;自定义类型就是我们使用的struct、class等自己定义的类型。C++98中规定。

2024-02-17 17:44:49 977

原创 【类与对象 -1】类的引入、访问及封装、定义、作用域、实例化、类大小的计算、this指针

类定义的格式://类体:由成员函数和成员变量组成//一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。类有两种定义方式:①声明和定义全部放在类体中。成员函数如果在类中定义,编译器可能会当将其作内联函数处理。这种方式是比较简单的。②成员函数声明与定义分离。这样实现的结果是不对的,报错显示未声明的标识符。

2024-02-15 20:58:05 614

原创 【初始C++】引用的概念及使用场景、引用与指针的区别、内联函数、类型推导关键字auto、范围for循环、指针空值nullptr

这种方法是我们最常使用的一种,在头文件声明,其他文件定义。

2024-02-08 12:27:27 924

原创 【数据结构】归并排序的递归实现与非递归实现

归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。如何实现?

2024-01-29 09:25:25 524

原创 【数据结构】交换排序- -冒泡排序的实现、快速排序的递归实现与非递归实现

交换排序算法基本思想是根据序列中两个记录键值的比较结果来对换这两个记录在序列的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。交换排序有冒泡排序和快速排序两种。冒泡排序我们在C语言阶段就学习过了,所以就简单写一下,主要对快速排序进行学习。

2024-01-28 11:41:34 865

原创 【Linux权限|权限的引入、Linux中的用户、文件权限、目录权限、默认权限掩码umask、粘滞位】

通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源。决定有无,或者能还是不能的问题。像学校的门禁,是该学习的师生才有权利进去,没有便进不去。

2024-01-25 16:33:19 791 1

原创 初识C++|关键字、命名空间、输入输出、缺省参数、函数重载

定义命名空间时,需要使用到namespace关键字,后跟命名空间名,再加一对{},将变量写入里面就可以了。//命名空间内可以定义变量、函数、结构体int a = 1;int val;.........那么要修改上述代码就可以用以下方法解决了int main()return 0;命名空间可以嵌套定义//test.cppint b = 1;int c = 1;.........同一个工程允许存在多个名称相同的命名空间,编译后这几个空间的变量会放在一起.//test.h。

2024-01-23 15:07:32 836

原创 【Linux基本指令】

如果使用中出现==-bash:指令名:command not found==,如果是root用户,就用==yum -y install 指令名。**(2)加输出重定向符号‘ > ’,后加文件名,如果该文件不存在,便创建文件,将本来应该显示到显示屏的数据,显示到文件中。:more命令适用于大文本阅读,more可以打满一屏输出,就停下来,让用户往下翻,逐行进行阅读。ll -a比ls -a多显示了文件的详细属性,ls -a只显示文件名。(1)输入cal,只显示当前所在月份的月历,并将当天的数字加重显示。

2024-01-20 10:40:48 822

原创 【数据结构】选择排序--直接选择排序和堆排序的实现

1.直接选择排序的过程容易理解,但是效率不是很好2.时间复杂度为O(N^2)3.空间复杂度为O(1)4.稳定性:不稳定。

2024-01-18 20:49:10 819

原创 【数据结构】插入排序--直接插入排序和希尔排序的实现

这种排序算法对于接近有序的元素集合效率很高,因为越是有序,数据挪动次数就越少。但是对于完全逆序的元素集合,每插入一个数据,前面的值都要向后挪动,数据越多,挪动次数也将越多,效率就会降低。时间复杂度O(N^2)空间复杂度O(1)

2024-01-17 17:30:58 900

原创 【数据结构】队列扩展--循环队列

int* data;//用于队列存放数据int front;//队头指针int rear;//队尾指针int k;//队列空间大小。

2024-01-13 23:10:20 809

原创 【数据结构】认识和实现栈和队列

栈和队列是两种重要的线性结构。从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子集,它们是操作受限的线性表,因此,可称为限定性的数据结构。接下来我们将一起学习栈和队列的定义与实现。

2024-01-12 23:47:46 801

原创 【数据结构】模拟顺序表的实现

我们采用 realloc 来实现扩充容量,设置一个新的指针,将扩充后的空间的地址赋给它。顺序表又分为静态顺序表与动态顺序表,静态顺序表是用定长的数组存储的, 在现实场景中数组大小具有不确定性,定长的话会造成空间不够用或者浪费,因此我们多采用动态顺序表,这篇文章也将采用动态顺序表讲述。接下来我们要来实现插入删除等函数,在插入数据时不是直接插入,还应判断空间是否足够,不够的话扩容后再执行插入操作。头插尾插是该函数的特殊情况,当在其他位置插入时我们需先判断插入位置是否合法,合法后再挪数据将其放入插入位置。

2023-11-01 18:09:49 162

原创 【C语言】实现简单通讯录

项目要求:实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址接下来我们将一起实现一个静态通讯录。

2023-10-22 18:26:18 140

原创 【C语言】扫雷小游戏的实现

如果所选位置不是雷,则计算改位置附近八个坐标雷的个数,并记录在该位置,游戏继续;是雷,则被炸死,游戏结束。若不是雷的位置都被找出来,则成功,游戏结束。在游戏设计初步,大家会想着设置一个棋盘来进行操作,用‘1’来表示雷,‘0’表示非雷。但这样会出现一个问题,就是不知道棋盘中的‘1’是设置的雷还是附近八个坐标某处有雷,因此我们需要设置两个棋盘(即两个二维数组)来进行操纵。一个棋盘用于存放雷的信息,另一个用于存放排查的雷的信息。

2023-10-18 16:11:50 49

原创 【C语言】三子棋的实现及源代码分享

总的思路就是这样,在判断输赢模块还可优化,博主只是根据三子棋判断而写的。

2023-10-05 14:48:05 41

原创 【C语言】自定义类型详解--结构体

可在声明结构体类型的同时或者声明后再定义。

2023-09-28 01:20:51 92

空空如也

空空如也

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

TA关注的人

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