自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Linux】地址空间

有一天,小明睡觉的时候不小心越过了三八线,于是他按照规定,将三八线向自己移动了 10 cm,他的课桌区域变为了 40 cm长,小红的课桌区域变为了 60 cm长。此时,私生子都向大富翁申请了一笔金额:A 申请了 2 万,B 申请了 10 万,C 申请了 2k,D 申请了 900。不可以,因为此时的 g_val 是父子共用的,如果修改后父进程又拿 g_val 参与运算,就会影响到父进程的运行,破坏了。如果进程直接与内存进行交互,万一发生越界修改数据了,不仅会对此进程造成影响,还可能会导致其他进程的崩溃。

2024-09-07 13:31:04 1063

原创 【Linux】环境变量

这样虽然可以直接执行我们的程序,但是这种方法有点挫,而且直接将我们自己写的程序丢到 /usr/bin 中,可能会污染系统指令集。所以,当我们使用 export 导出环境变量时,是由 bash 亲自执行,修改 bash 维护的 env 表的。上面我们也提到,如果导出环境变量时不加 export,也是可以导出的。可以看到,确实存在 PATH,当我们对这里的 PATH 进行了修改,那就是永久有效的。的路径,bash可以通过这个定位用户的家目录,这样每次我们登录 Linux 就可以直接进入到对应的家目录。

2024-09-04 23:16:21 772

原创 【Linux】进程的状态和优先级

简单来说,优先级就是操作系统中指定进程获取某种资源的先后顺序。在进程的 task_struct 中,进程的优先级用数字表示,或者一个,或者多个// ...int prio;// 优先级用数字表示在 Linux 中,优先级数字越小,表示优先级越高这时可能会有人觉得优先级与权限的意思有点相像,其实是不一样的权限决定的是能不能获取某资源优先级是在已经能的前提下,获取资源的先后顺序。

2024-09-03 22:27:29 1180

原创 【Linux】进程的概念

我们知道,内存中可以存在多个进程,哪个进程该调度,调度多长时间,下一个进程又是谁,这些问题似乎仅凭上图的模型无法解决,这里我们就要引入一个数据结构——,它的代码与数据来源于磁盘;根据冯诺依曼体系规定,我们要运行程序,必须将其加载到内存中,也就是要将程序对应的代码与数据拷贝到内存中。可以看到,查到了我们想要的进程状态,但是我们并不知道这些数据代表什么,我们可以将。我们要明确一点,进程是运行起来的程序,程序是我们写的,我们代表了用户。这很容易理解,我们每次运行一个程序,都是重新创建一个新的进程,

2024-09-02 19:55:32 1233

原创 【Linux】vim

本篇文章将介绍vim编辑器的一些基本用法。

2024-09-02 19:26:39 1201

原创 【C++】多态

多态的实现是建立在继承的基础上的。拥有不同继承关系的类对象,调用同一函数,产生不同的结果。例如,Student继承了PersonStudent半价买票,而Person全价买票重载两个函数在同一作用域函数名相同,参数不同重写(覆盖)一个函数在父类作用域,一个函数在子类作用域函数三同:函数名、参数、返回值相同。协变(返回值不同)、析构函数(函数名不同)例外必须都是虚函数重定义(隐藏)一个函数在父类作用域,一个函数在子类作用域函数名相同父类和子类的同名函数不构成重写就是重定义。

2024-04-26 20:55:38 772 1

原创 【C++】继承

以Person和Student// ...// 子类 继承方式 父类// ...其中,Student为子类,public为继承方式,Person为父类多继承的语法复杂。有了多继承,就有可能写出菱形继承,为了解决菱形继承的问题,又需要用到虚拟继承。而虚拟继承的底层又是很复杂的,使用起来容易出问题多继承算是C++的缺陷之一,以至于后来的语言有继承但没有多继承,例如Java继承和组合我们已经了解了继承,组合是什么?组合与继承类似,例如B类继承Aclass Aprotected:int _a;

2024-04-22 18:04:33 881

原创 【C++】类和对象(一)

定义类与定义结构体类似,不过定义类使用的关键字是class// 类体// 注意分号不要丢了在类中,类体部分的内容称为类的成员, 类中的变量称为类的属性或成员变量;类中的函数称为类的方法或成员函数class Date// 初始化// 成员变量int year;int month;int day;在上面的类中,成员函数Init()的代码是不是不太好看?无法区分形参与成员变量为了避免以上情况,一般是给成员变量加个前缀或后缀,如下class Date// 初始化// 成员变量。

2024-03-28 21:20:50 589

原创 【C++】C++入门(下)

在C++98中,字面常量0既可以是一个整形数字,也可以是无类型的指针(void*)常量,但是编译器。,因为局部变量除了作用域就会销毁,再用引用访问就是非法的,上面所说的都是引用作返回值的错误示例。引用在语法上是没有开空间的,在底层上是有开空间的,即引用的语法含义与底层实现是背离的。现在我们已经对引用有了初步了解,也可以发现引用和指针是类似的,作用是有重叠的。比如,链表的中的指针,链表可以通过修改指针来修改各个节点的指向关系。因为在底层上,引用是用指针实现的,在底层只有指针,没有引用。

2024-01-29 21:22:37 793

原创 【Linux】gcc

在 Linux 系统下我们可以编写C语言程序并编译运行,我们将在本篇文章中学习如何简单地编译运行C语言程序,并了解程序的翻译链接过程。

2024-01-26 16:27:13 829 1

原创 【C++】C++入门(上)

C++在C语言的基础上扩展而来,兼容C语言,解决了C语言的一些弊端与缺陷,并且容纳了面向对象编程思想,拥有许多强大实用的库,以及编程范式今天我们先来了解学习C++是如何对C语言的一些设计缺陷进行优化的。

2024-01-23 17:14:15 855 1

原创 【Linux】基本指令 | 文件 | 目录 | 路径

语法:ls 选项 目录或文件-a 列出目录下的所有文件,包括以 . 开头的隐含文件。-d 将目录象文件一样显示,而不是显示其下的文件。如:ls –d 指定目录-i 输出文件的 i 节点的索引信息。如 ls –ai 指定文件-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件-l 列出文件的详细信息。-n 用数字的 UID,GID 代替名称。(介绍 UID, GID)-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表。

2023-11-25 20:29:31 152

原创 【数据结构(C语言)】链表

本篇文章将介绍什么是链表,以及如何用C语言实现基础的单链表链表是一种线性表我们知道,线性表在逻辑上是连续的,但在物理上不一定连续,就是说,表中数据的存放地址不一定连续链表就是这样,在逻辑上连续,在物理上不一定连续先将要存储的数据类型进行定义这里存储的数据是整型,如果要存其他类型的数据,只需修改 int 即可定义结构体}SLNode;这个结构表示链表的一个节点,data 用来存放数据,next 用来指向下一个节点单链表的优点链表增加和删除数据不用对数据进行挪动,更加高效。

2023-11-24 23:26:39 52 1

原创 【数据结构(C语言)】顺序表

本篇文章将介绍数据结构中的顺序表以及如何用C语言将其实现一般我们会将要存储的数据类型重定义为一个新的类型,之后就使用这个新类型进行数据存储,这样当我们想要修改存储的数据类型时,只需要修改一次例如,将 int 定义为,SLDataType,之后就用 SLDataType 来代替 int如果以后想存储 char 类型,只需将 int 修改为 char定义结构体int size;}SeqList;上文已经说明各个变量的作用,这里不再赘述顺序表是一种线性结构,要求物理存储结构连续。

2023-11-01 18:27:24 60 1

原创 【C语言】文件操作

文件就是磁盘中的文件,如果以文件功能来分类,文件可以分为程序文件和数据文件。

2023-10-18 23:50:14 73 1

原创 【C语言】自定义类型:结构体

定义我们可以在声明结构体的同时进行结构体变量定义,也可以先声明,等用的时候再定义结构体变量int x;int y;}p1;//p1为全局变量int main()//p2为局部变量return 0;初始化结构体的初始化要用 {} ,成员之间用逗号隔开int x;int y;int age;}s1 = { "张三", 18 };int main()struct Student s2 = { "李四", 19 };return 0;同时,结构体支持嵌套初始化int x;

2023-10-05 01:28:19 46

原创 【C语言】内存操作函数

内存操作函数,可以通过访问地址的形式来对内存进行修改。本篇文章简单介绍了 memcpy、memmove、memcmp,和 memset 的使用及其模拟实现它们的头文件<string.h>本篇文章用到的网站。

2023-10-01 15:18:08 69

原创 【C语言】 qsort 的使用

qsort是C语言中一个强大的库函数,通过它我们可以实现对整型数组、字符数组等的排序,如果使用得当,还可以排序结构体数据。在此我们学习一下qsort的用法。

2023-09-18 23:28:18 169 1

原创 【C语言】二分查找

如果想要查找一个有序数组中的某个数,二分查找是一个不错的选择。相较于顺序查找,二分查找每次查找都可以去掉一半的范围,在大型数组中,查找效率非常高。

2023-08-13 10:47:48 55 1

原创 【C语言】扫雷(递归展开一片)小游戏

相信大家都玩过扫雷游戏,今天我们就用C语言实现这个小游戏。如果没玩过,可以先去体验体验,掌握游戏规则也会对我们的思路有所帮助。

2023-08-04 12:57:28 75 1

原创 【C语言】三子棋(N子棋)

通过更改game.h中的行列,来自定义棋盘大小,这里演示10*10棋盘在此过程中我们可以体会到,N子棋代码涉及的语法并不复杂,用到的无非就是函数,二维数组及其传参等,难的是思维。本人现在呢也是初学者,若有任何问题,欢迎指出,有不足之处敬请谅解,希望我们能一起不断进步。

2023-07-27 00:55:07 80 1

原创 【C语言】求最大公约数(枚举与辗转相除)

先找出两个数中的较小数,再从“1~较小数”中寻找一个可以将两个数整除的数。

2023-07-21 23:12:01 122 1

原创 【C语言】求质数(常规法与平方根法)

质数的因数只有1和它本身除去2,偶数都不是质数设非质数m,在范围2~sqrt(m) 中必定存在一个数可以将m整除。

2023-07-21 21:48:52 763 1

空空如也

空空如也

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

TA关注的人

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