自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

github_73587650的博客

一直不自律,又何尝不是一种自律

  • 博客(33)
  • 收藏
  • 关注

原创 常见通信协议

UART是一种通信协议,用于串行通信;SPI是一种同步串行通信协议,用于连接外部设备;IIC是一种串行通信协议,用于连接芯片间通信。

2023-11-04 18:19:24 1210 1

原创 网络基础扫盲--TCP/UDP

博客内容:TCP/UDP。

2023-11-04 18:11:48 1227

原创 网络基础扫盲-初识网络

博客内容:初识网络。

2023-11-04 18:10:39 194

原创 网络基础扫盲-多路转发

select适用于连接数较少的情况,可移植性好,但效率较低;poll效率高于select,但仍然存在遍历fd集合的缺点;epoll适用于连接数较多的场景,且能够避免无用的遍历,效率最高,但只能运行在Linux系统上。

2023-11-04 18:09:11 1168

原创 指针与引用详解

空间上,指针和引用在作为函数的传参时,会有略微差别在效率上,对于指针需要拷贝,因为形参的改变不会影响实参。主要就是对于俩者的出现时间来看,对于指针来说,早在C语言那会就已经出现,C++是后于C语言的,所以C++的出现会多少在使用上是优于C语言的。效率上,对于引用的++运算,是对于原来变量的自身++。会改变原有的变量的值。引用就是对于一个变量的别名,怎么改都是喊原来的变量进行的操作。指针有多级的指针,引用就不会有,如果有那也是右值引用。通常指针的类型也是根据变量进行变化的,指针的大小却是随着平台变化的,

2023-08-23 21:04:55 1146 2

原创 云服务器搭建到使用

云服务器环境搭建

2023-08-09 00:38:41 227 1

原创 C++中的“三重”

重载、重定义(隐藏),重写(覆盖)

2023-07-17 20:09:02 1294

原创 数组与指针

使用数组和指针的转换对于我们编程来说会变得更加灵活,指针使用到位,会让数组代码看起来更加的优雅。

2023-07-15 18:42:26 1289

原创 Linux线程

创建一个新线程的代价要比创建一个新进程小得多。与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多 线程占用的资源要比进程少很多 能充分利用多处理器的可并行数量 在等待慢速I/O操作结束的同时,程序可执行其他的计算任务 计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现 I/O密集型应用,为了提高性能,将I/O操作重叠。线程可以同时等待不同的I/O操作。

2023-07-06 20:30:44 1318 1

原创 Linux信号

常见信号处理函数

2023-06-27 19:28:03 1513

原创 Linux共享内存

共享内存是进程间通信中最简单的方式之一。共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。

2023-06-23 12:50:02 3402 1

原创 这是关于“树先生“的故事

树的结构使用递归算法来进行遍历很容易理解,但是对于深度太深的树就会出现栈溢出情况。树用来存储数据显然不是一个很好的选择,容易出现歪脖子树,单只树。效率不高。可以进行后期优化成为搜索二叉树,AVL树……

2023-05-20 16:45:56 2578 30

原创 栈与队列的性质互换

栈和队列的定义及其实现,数据结构不同性质之间实现性质互换。

2023-05-15 14:18:17 1531 21

原创 C++中继承的语法和使用

面向对象语言3大特性之一,继承语法讲解及使用

2023-05-11 11:32:58 2191 22

原创 STL常用梳理——STACK、QUEUE

适配器实现stack,queue

2023-05-08 08:00:00 1752 33

原创 STL常用梳理——VECTOR常用接口及其迭代器实现

vector常用接口介绍,迭代器使用及其实现

2023-05-03 19:37:07 2856 29

原创 C++基础——运算符详解

关于运算符的使用场景及其简单介绍

2023-05-02 20:57:52 5694 11

原创 STL常用梳理——STRING

早于STL的泛型编程

2023-05-01 22:10:45 4144 11

原创 Linux——进程

进程结束退出时,os内少个进程,便会释放进程对应的内核数据结构和对应的代码和数据。在程序中使用动态内存开辟使用时,os还会对空间管理比较严苛,CPU运行速度决定了对于进程都是进行片段的使用然后频繁调度不同的进程,os十分注重效率。在OS中用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。在子进程对于数据进行写入时,会对于内存中的数据和代码进行内存中空间的开辟然后拷贝。进程在对于代码的实现时会发生写时拷贝,因为进程是独立。

2023-04-26 12:10:09 1802 3

原创 Linux——进程

进程常见状态及其创建

2023-04-21 12:14:53 1007 8

原创 类中的那点事

c++中的“结构体”

2023-04-13 17:54:30 1137 5

原创 试图写入管道链接不存在

过程试图写入管道不存在

2023-04-06 19:59:21 149 2

原创 堆|数据结构

二叉树概念及堆的调整算法

2023-03-29 13:09:54 270 4

原创 栈|数据结构

int _top;// 栈顶 int _capacity;// 容量 } Stack;这里实现结构定义虽然和顺序表大同小异,但是实现功能各有千秋。对于栈初始化理解是,如果使用结构体定义就可以在初始化时少开辟一个空间(结构体)。只需要开辟空间数组空间大小。在释放空间时可以少调用一次释放函数。//相当于顺序表size。有效个数 }在初始化时比较坑就是对于top赋值时。如果直接赋值0.就是栈顶元素下标的下一个。而赋值为-1.就是栈顶元素的下标。其余接口函数实现时。

2023-03-23 13:36:46 75 4

原创 链表|数据结构

可以在实现时注意指针的指向内容变化,还有指针类型。还可以为以后实现数据结构哈希桶子结构,图的邻接表。在单链表中,对于链表操作需要改变什么就需要传什么指针,对于节点是一个结构体指针。通过理解概念有了一个大概模型,就是每块空间都有自己独立的数据内容,他们之间联系就是通过前面保存后面地址,后面每一个依次类推。链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。也可以说这是这些结构中比较经典的结构。代码实现比较轻松,比较单链表实现同样功能更加通俗易通。

2023-03-19 12:30:33 84 3

原创 Linux|c语言

在代码编写中,我们经常看见多个源文件一起使用,在项目中很多时候将就规范使用各部分文件。让程序运行时就可以多个文件一起使用。这就会有make、Makefile来实现。Makefile内部产生文件依赖,让其产生耦合。Makefile是一个依赖关系和依赖方法构建的自动化编译的工具。就可以创建Makefile文件,文件中可以自己添加文件关联项,.h文件不需添加其中,编译器会在当前文件目录中自己寻找。区分,前者是让指令进行从头答应。有了对于这个指令的区分就可以实现。就可以实现Makefile创建和依赖关系文件创建。

2023-03-10 19:36:46 105 6

原创 顺序表|数据结构

数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。顺序表和数组离不开,这就意味着它对于空间要求比较大,伴随这一些增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。增容一般是呈2倍的增长,势必会有一定的空间浪费。

2022-11-30 17:31:15 339 6

原创 通讯录版本1.0到3.0简易版

对于这个通讯录写入有部分细节需要注意比如动态开辟后,空间是否开辟成功,空间使用后需要关闭,并将指针NULL。这里我们是在静态版本上升级改动而来,在后面我们实现代码时发现,假如我们输入地址比较详细或者名字太长时间,就需要我们不停更改头文件中内容,所以为了能够减少对于代码修改。可以试想一下,对于内容存储,查找无非就是根据他的特征来查找,所以确定需要存储的变量就可以保存实现。我们使用结构体来进行整体构造,可以用一个结构体作为整个整体框架,框架里还有个人信息保存也需要一个结构来进行内容管理保存。

2022-11-15 21:49:19 472 4

原创 常见函数剖析

这里进行一些常见字符串函数介绍及使用,模拟实现一些函数。比较常用有求字符串长度(strlen),字符串比较(strcmp)还有对于俩字符串追加(strcat)。当然字符串函数远不止这些更多。

2022-11-10 11:02:55 380 14

原创 数据的存储

还要知道整形各自在内存中占有大小来加以判断,依次排序是1、2、4、4(8)个字节。有了一些了解可以判断不同类型整形所占有空间大小。但在计算机识别数据时,也只知道1,0。这里便解决了这个问题,原码、反码、补码这些都是1、0变换来表示其他数字大小以及存储。在整数中又可以分为正反俩类,这里便有了符号之分1为负,0为正。还有一个规律就是正数原码、反码,补码值相同而负数需要遵守以上规则进行变化,可以使用一个简单代码进行验证可以清楚看见整形数据存储时是以反码形式进行的,但是这里还会发现一个问题,按照注释来解释这里数

2022-10-24 08:00:00 264 20

原创 三子棋详解

每篇一句,与同行的你共勉:不应该追求一切种类的快乐,而是应该追求高尚的快乐。重温那些年草稿本上的勾勾叉叉的爱恨情仇。那年的夏天,那年同桌的你…以下便是回忆的开始。

2022-10-12 22:46:40 419 9

原创 【 经典永不过时——递归|C语言】

递归在函数中一直是佛系,秉持着大事化小的概念。做事也是循循渐进,都是递推完成后才会进行回归。又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)。从中不难看出**数列是从第三项等于前面2项之和**。

2022-10-07 17:01:56 213 5

原创 初识指针——C语言

在使用指针时,需要注意指针初始化,这时我们可以发现指针指向变量的类型为int,进行取址时(‘&’取址符)需要注意取址类型相同(int*);这里需要注意的是地址并不是固定不变的,每次运行都会有所改变。这里需要注意的是地址并不是固定不变的,每次运行都会有所改变。实际上,这更像生活中的楼房(内存),每栋楼都有楼层住户门牌号(单元编号)。说到指针就不得不说内存,内存是电脑用于储存的,内存为了更好储存和使用便分为了许多单元,每个单元便是一个字节。为了方便管理需要为每个单元编号。指针就是内存编号,也可以说就是地址。

2022-10-03 14:55:29 324 4

空空如也

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

TA关注的人

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