自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Linux】十分钟理解动静态库

zcf是一个用户,他只写了一个main.c想要使用加法但是不会写,我们可以直接把add.c传到zcf那里去,但是如果我们不想直接传源文件那么就可以使用如图所示的方法。先把add.c变成二进制文件add.o,然后把add.o和add.h传到zcf中,再把main.c变成main.o将两个文件链接在一起(gcc -o)即可。虽然我们告诉了编译器库的位置但是没有告诉OS,运行的时候我们的.so没有在系统的默认路径下,所以OS依然找不到。静态库为什么能找到?我们可以把动态库的路径添加到环境变量中,这样就能找到了。

2023-07-12 10:23:41 254

原创 【Linux】十分钟理解软硬链接

Linux ext2文件系统,上图为磁盘文件系统图(内核内存映像肯定有所不同),磁盘是典型的块设备,硬盘分区被划分为一个个的block。两个点事是上级目录的硬链接,上级目录只包含一个目录,因此就是自己的一个点加包含目录的两个点还有自己的目录名。软链接形成的文件和源文件的inode数字不同,因此是一个独立的文件,新文件中保存的是原文件的路径。硬链接形成的文件和源文件的inode数字相同,因此可以看成是原文件的别名。其实一个点就是当前目录的硬链接,目录也是文件,因此一个点的硬链接数为2。

2023-07-06 16:21:22 474 1

原创 【C++】十分钟掌握多态(1)

这篇文章的代码及解释都是在vs下的x86程序中,涉及的指针都是4bytes多态:不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票函数输出全价,Student对象买票函数输出半价。必须通过基类的指针或者引用调用虚函数被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写public :cout

2023-06-28 18:07:10 240 1

原创 【C++】十分钟带你入门类和对象(上)

阅读这篇文章,你会了解类和对象的基本定义和简单用法,理解C++和C语言的很多区别。

2023-02-14 14:48:45 392 1

原创 【C++】十分钟带你入门C++

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。// bit是命名空间的名字,一般开发中是用项目名字做命名空间名。// 1. 正常的命名空间定义 namespace bit {// 命名空间中可以定义变量/函数/类型 int rand = 10;int val;} //2. 命名空间可以嵌套 // test.h namespace N1 {int a;int b;int c;int d;

2023-02-13 17:39:37 6107

原创 Linux下基本指令(1)

阅读这篇文章,我会带你认识这些基本指令并进行实践。博主使用的是云服务器,root进行登录。上面列举了部分基本命令,剩下的基本命令在下一篇文章更新博主码文不易,如果觉得这篇文章对你有帮助的话,可以、、关注。你的支持是我创作的最大动力!

2022-11-21 13:30:59 183 6

原创 趣学算法(2)

这篇文章是《趣学算法》的读书笔记,也对数据结构与算法的初步介绍,阅读这篇文章,我会带你改进一个算法。博主码文不易,如果觉得这篇文章对你有帮助的话,可以、、关注。你的支持是我创作的最大动力!

2022-10-23 20:14:59 230 1

原创 带你趣学算法

这篇文章是《趣学算法》的读书笔记,也对数据结构与算法的初步介绍,阅读这篇文章,你会了解什么才是一个好的算法以及复杂度的定义。写一个算法,计算以下序列之和:看到这段代码,你的第一反应可能是利用循环来解决让我们看看循环的解法i

2022-10-18 21:43:56 416 1

原创 【C】文件操作(下) 超详解版

在文件操作(上),我们详细介绍了什么是文件、详细介绍文件的几种打开方式,以及几个文件顺序读写的函数。文件操作(下)会向各位介绍文件随机读写的几个函数、怎样判断文件结束、feof的使用以及文件缓冲区。博主码文不易,如果觉得这篇文章对你有帮助的话,可以、、关注。你的支持是我创作的最大动力!

2022-10-17 10:32:58 120 9

原创 【C】文件操作(上) 超详解版

文件操作相关内容会用上、下两篇文章来介绍,这篇文章会带各位大概了解什么是文件、详细介绍文件的几种打开方式,以及几个文件顺序读写的函数。所谓“文件”是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名.文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。普通文件又包含程序文件和数据文件。博主码文不易,如果觉得这篇文章对你有帮助的话,可以、、关注。你的支持是我创作的最大动力!

2022-10-10 18:17:48 688 8

原创 早期编程&简单数据结构

这篇文章上半介绍了早期编程的方式和语言,下半简单简单介绍了算法和数据结构,希望读者阅读后能有所收获。不同的“算法”,意思是解决问题的具体步骤记载最多的算法之一是“排序”,排序的种类有很多,如“冒泡排序”,“意面排序”, “选择排序”,“归并排序”等。即使结果一致,有些算法更好。一般来说,代码越少越好,但有时会关心占多少内存等其他因素。算法的输入大小和运行步骤之间的关系,叫算法的复杂度。表示运行速度的量级,算法的运行复杂度叫——大O表示法。数据结构是计算机存储、组织数据的方式。

2022-10-05 16:35:55 479 7

原创 【C】通讯录详解及二级优化

这篇文章对如何写出一个通讯录进行了详细的讲解,希望能对刚开始学习、想要写一个通讯录的同学提供一些帮助。同时博主还利用枚举和动态内存对通讯录进行了一定的优化,能让你的通讯录更加的强大。这篇文章博主进行了通讯录的二级优化,但这个通讯录依然有很多优化的空间,比如运行结束存储的数据就会消失,这就需要运用文件管理的知识,因此后面可能会进一步优化,敬请期待。博主码文不易,如果觉得这篇文章对你有帮助的话,可以、、关注。你的支持是我创作的最大动力!

2022-09-29 20:43:34 196 17

原创 【C】动态内存管理详解

这篇博客的内容是三个动态内存函数、常见的错误以及一些笔试题。希望读者阅读完能加深对动态内存管理的理解,能有所收获。分配一块size字节的内存,并返回一个void*的指针。如果开辟成功则返回一个指向这块内存的指针。开辟失败会返回NULL,因此一定要记得验证是否是空指针再使用。返回的指针是void*,因此使用时需要用户自己修改。如果size为0,malloc的行为是未定义的,取决于编译器。它是一种“整型”类型,里面保存的是一个整数,就像int那样。

2022-09-27 15:20:22 455 13

原创 【C语言】详解枚举与联合体

这篇文章是对枚举与联合体这两个自定义类型的详细解释,阅读这篇文章,你可以使用枚举来代替define,你还可以学会考点联合体大小的计算以及用联合体来判断大小端存储。枚举在C/C++/c#中,是一个被命名的整型常数的集合, 枚举在日常生活中很常见。例如:表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,SATURDAY,就是一个枚举。枚举的结构和结构体类似enum Day //星期 {enum Sex //性别 {

2022-09-22 21:12:07 337 6

原创 【C语言】结构体详解

阅读这篇文章,博主会带你认识、定义结构体,还会介绍如何计算结构体大小。有了前面的铺垫,那如何定义结构体变量其实很简单。int x;int y;} p1;//声明类型的同时定义变量p1 struct Point p2;//定义结构体变量p2可以声明的同时定义如p1,也可以在后面定义如p2.//初始化:定义变量的同时赋初值。x , y };struct Stu //类型声明 {//名字 int age;//年龄 };//初始化赋值时成员之间用逗号隔开。int data;

2022-09-19 18:42:43 357 3

原创 【C语言】学会使用库函数后,编程居然轻松了这么多

通过阅读这篇博客,博主会带你了解几个比较常用的库函数。利用库函数实现功能,可以帮助你简化自己的代码,上一篇详细介绍了strlen,因此此篇不再赘述。希望最后的模拟实现可以帮助你加深理解。(以下这些库函数均可在这个网站查到:)✨原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下}原创不易,还希望各位大佬支持一下👍}⭐️}✏️评论,你的意见是我进步的财富!\textcolor{green}{评论,你的意见是我进步的财富!}

2022-09-15 16:56:54 934 18

原创 【C语言】十分钟,带你分清楚sizeof和strlen

阅读本文章,笔者会向你介绍sizeof和strlen的定义以及两者的区别,笔者还会通过讲解具体的笔试题带你深入理解。在C语言中,sizeof是判断数据类型长度符的关键字。(注意sizeof不是函数,它在程序没有运行时就计算出结果了)。sizeof作用就是返回一个对象或者类型所占的内存字节数return 0;}sizeof单位是字节,因此结果为40strlen是一个计算给定字符串的(unsigned int型)长度的函数(不包括’\0’在内)。

2022-09-13 16:12:49 343 7

原创 带你从零开始设计一个简单CPU

这篇文章的目的是以最简单的方法讲解CPU的结构,带你感受关于CPU的智慧和魅力。大部分图片来自Crash老师的计算机科学速成课。第一点:只有两种状态,便于区分信号,不容易受外界干扰。第二点:当时数学上二进制已经能够完成所以的计算。常规代数中,变量是数字,利用数字进行‘+’ ‘-’布尔代数中,变量是true和false,利用这两个进行逻辑操作✨原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下}原创不易,还希望各位大佬支持一下👍}⭐️。

2022-09-03 21:22:58 4487 23

原创 手把手教你如何使用git与github

Git是目前世界上最先进的分布式版本控制系统让我们列举几个git的强大功能(1)git可以帮助我们记录每一次的改动。举个例子:当我们打好代码之后通常要进行修改,git可以记录我们每一次的改动,例如添加或删减语句等。(2)git具有时光机的功能举个例子:某一天你对自己的代码进行了大量的修改,第二天突然后悔了,这时你就可以通过git进行版本回退,退回到之前的版本。(3)git还能帮助你的团队协作git可以让你在不影响队友进度的情况下进行自己的工作,最后还能将自己的代码合并到团队里。...

2022-08-31 11:37:33 1484 3

原创 【C语言】整型数据居然是这样存储的。

1 我们都知道数据在计算机中是以二进制形式存储的,而原码、反码、补码正是二进制的三种表示形式。2 三种方式均有符号位和数值位两部分。在符号位中 0 表示正,用 1 表示负。三种码的第一位是符号位其余是数值位。正数的原码、反码、补码相同负整数的三种表示方法各不相同原码直接将数值按照正负数的形式翻译成二进制就可以得到原码。反码将原码的符号位不变,其他位依次按位取反就可以得到反码。补码反码+1就得到补码。对于整形来说:数据存放内存中其实存放的是补码。了解大小端存储之前我们先看一张图片。.........

2022-08-10 18:41:23 203 1

原创 【C语言】根据题目“判断是不是字符?”分析scanf和getchar

还有一个特殊的情况,当我们使用scanf(“%c”,&num)的时候,若缓存区第一个字符为’\n‘则会被读入。原来当我们输入A’\n’6的时候根据前面提到的一个特殊的情况’\n‘也被输入了,因此才出现了第二行的情况。大家对scanf应该都是比较熟悉的,我们使用scanf给我们的变量赋值。需要注意的是scanf输入时遇到’\n’或空格时会中断。从绿色的字体我们能看到getchar返回的是int类型的数据,A的结果是正常的,为什么后面的情况这么鬼畜呢?先看看我一开始的代码和结果。...

2022-08-02 16:44:57 834 1

空空如也

空空如也

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

TA关注的人

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