自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件IO相关知识

补充:一个头文件中可以包含多个内容1.创建一个头文件,例如myhead.h2.将能用到的所有头文件都放入该文件中3.将myhead.h文件,移动到根目录下的usr目录中的include目录下4.常用的头文件:,#include<iostream>,#include<string>,#include<iomainip>(C++中的格式化输出),#include<stdio.h>,#include<math.h>,#include<string.h>,#include<stdlib.h>

2024-09-11 17:10:15 844

原创 Cmake的基本语法操作

1)基本语法:指令(参数1 参数2....)参数使用括号括起来参数之间使用空格或分号隔开2)注意:指令是大小写无关的,但是参数和变量是大小写相关的set(HELLO hello.cpp) #定义一个变量名叫HELLO 变量的值为hello.cppadd_executable(hello main.cpp hello.cpp) #通过main.cpp和hello.cpp编译生成hello 可执行文件。

2024-09-02 13:14:59 683

原创 如何使用第三方库,Makefile概念,使用,规则,条件执行

make是一个执行Makefile的工具,是一个解释器,用来对Makefile中的命令进行解析并执行一个shell执行make这个指令在/usr/bin中,默认Linux系统中都已经安装如果没有安祖make,安装指令如下:sudo apt install make查看是否安装成功:make--version进入编译目录:执行make命令依赖关系阶段命令执行阶段。

2024-08-25 22:52:57 679

原创 Linux中库的概念,动态库,静态库

库在Linux中是一个二进制文件,它是由.cpp文件(不包含卖弄函数)编译而来,其他程序如果想要使用该源文件中的函数时,只需在编译生成可执行程序时,链接上该源文件生成的库文件即可。库中存储的是二进制文件,不容易被窃取只是产权,做到了保护作用给。库在Linux中分为两类:静态库和动态库Windows:***.lib(静态库)。***.dll(动态库)。Linux:***.a(静态库)。***.so(动态库)

2024-08-23 15:26:01 1005

原创 gdb的概念与常用指令,使用gdb调试指令程序

GDB:GNU项目调试器,允许查看一个程序执行时“内部发生了什么”

2024-08-23 00:22:20 969

原创 man手册的解析及使用方法

Linux系统提供的有关函数或指令介绍的相关帮助手册,可以在该手册中查看函数,指令的功能,说白了就是相关操作的使用说明书,一共有7章内容,主要使用前三章,第一章:shell指令相关说明,第二章:系统调用函数相关说明(重点),第三章:库函数(重要)1.文件的操作:open(),read(),write(),lseek()等等。2.进程控制函数:fork(),exit(),wait(),execl()等等。4.网络通信:socket(),bind(),listen()等等。只需要man+相关函数/指令即可。

2024-08-22 14:09:37 366

原创 Vim的学习

2.直接使用vi或vim+不存在的文件名,如果对文本内容进行更改,则保存退出后,会在文件系统上产生一个普通文件,如果没有更改数据,保存后退出,则不会在文件系统上创建该文件。VIM是Linus系统下的文本编辑器,可以对不同文本进行编辑,功能是对文件内容的编辑,保存,更改操作。yy:复制当前行的文本内容(要在插入模式在进行,没有插入这两个字的时候)2.命令行模式的作用:主要完成对文本内容整体的复制,粘贴,剪切,删除以及光标移动等操作。nyy:复制从光标所在行一直及以后的n行文本内容(n是一个具体的数字)

2024-08-12 00:06:06 943

原创 内联函数的使用,函数重载

如果函数体代码比较多,需要较长的执行时间,那么函数调用机制占用的时间可以忽略;如果函数只有一两条语句, 那么大部分的时间都会花费在函数调用机制上,这种时间开销就就不容忽视。为了消除函数调用的时空开销,C++提供一种提高效率的方法,即在编译时将函数调用处用函数体替换,类似于C语 言中的宏展开。这种在函数调用处直接嵌入函数体的函数称为内联函数(Inline Function),又称内嵌函数或者内置 函数。

2024-07-31 16:12:06 539

原创 C++学习04day--引用

type&funcName(){}在函数返回一个引用时,则返回一个指向返回的隐式指针,当返回一个引用时,要注意被引用的对象不能超出作用域,所以返回一个对局部变量的引用是不合法的,但是,可以返回一个静态变量的引用,可变参数获取可选参数,必须通过一个va_list的对象,它包含了参数信息,这种类型的对象也称为参数指针,它包含了栈中至少一个参数的位置。C++与C语言类似,C++中函数的参数是形式参数,即是实参的拷贝,所以修改的不是实参,所以X不改变,因此我们引入引用。引用所指向的变量,类似于指针常量。

2024-07-31 11:57:55 421

原创 C++学习03day--string类

C++中提供了专门的头文件(注意不是string.h,这个是C份个股字符串相关函数的头文件),来支持string类型,string类定义隐藏了字符串的数组性质,让我们可以像处理普通变量那样处理字符串,string对象和字符数组之间的主要区别是:可以将string对象声明为简单变量,而不是数组。1)C语言中,使用strcmp,strncmp函数来进行字符串的比较,在C++中,由于将string对象声明为了简单变量,故而对字符串的比较操作十分简单,直接使用关系运算符(==,!

2024-07-25 19:58:35 674

原创 浅学单片机

与CPU相比,MCU的规模较小,集成度更高,成本更低,功耗也更低。JTAG模式是一种并行调试接口,它使用四个引脚:TDI(测试数据输入)、TDO(测试数据输出)、TCK(测试时钟)和TMS(测试模式选择)。在ST-LINK调试器中,调试端口通常指的是微控制器上的调试接口引脚,用于与ST-LINK进行通信。CH340(串口:一个一个传输,不能同时串):USB转TTL电平(TTL电平是一种数字信号电平标准,有三种状态:高电平(H)、低电平(L)和悬浮态(X)),用的是outside usart(外部通信)

2024-07-24 23:09:28 654

原创 C++学习02day——字符

内联函数(虽说调用了两个函数,用力inline之后,能只用一块空间反复调用,可以节约栈空间)(放在函数定义的地方):在C语言中,如果一些函数被频繁调用,不断地有函数入栈,会造成栈空间和栈内存的大量消耗,在C++中,为了解决这个问题,特别的引入了inline修饰符,表示内联函数。在访问连续内存空间的时候,无论是字符数组还是字符串数组,得遇到NULL才能停止,arr没有NULL,后续继续连续的访问,就会出现越界的问题而出现乱码,这与输出特性有关,不与数组的类型有关。其他进制转化为二进制:除基取余倒着读。

2024-07-24 17:56:22 798

原创 C++的学习 01day

1.cin(输入>>)和count(输出<<)详解2.常量和变量3.常见的数据类型整型字符型浮点型布尔4.其他内置函数5.注释6.转义字符C++中std命名空间是C++中标准类型对象的命名空间,因此我们需要使用输入和输出,必须引入std命名空间。

2024-07-20 11:43:48 365

原创 用C语言实现中序线索树

中序遍历就一个核心思路:对于节点来说,如果没有左孩子,左指针就存入前驱节点,如果没有右孩子,右指针就存入后继节点。

2024-07-19 19:53:07 195

原创 C语言中树的广度遍历

把根节点入队,存这个节点的索引,如果是顺序存储,那么索引值就是下标,如果是链式存储,那么索引值就是地址。由于队列只存在层次遍历,当遍历完成后,就可以释放,推荐存放在栈上。把任务能访问的孩子节点,有孩子的节点索引入队。只要队列不空,继续出队,出队就进入上一步。这里可以把之前写过的队列的接口拿过来继续使用。直到队列为空,返回退出。出队,访问出队的元素。

2024-07-19 08:42:57 145

原创 不带任何约束的二叉树(不建议用)

一个节点可能有左孩子和右孩子,如果直接从根节点开始释放,就无法找到下面的孩子节点,所以我们从下往上,先删除叶子节点,再删除根节点,这节点的删除又具有相同类似的操作,因此我们可以考虑采用递归的思路。后续自己在main函数中自行组合添加或者删除元素即可。树的节点结构:数据域+指针域(左指针+右指针)树头:根节点+计数器(计算节点的个数)emmm感觉这挺简单的我就不多说了。自己写一个函数,引用即可。自己写一个函数,引用即可。自己写一个函数,引用即可。

2024-07-18 20:20:33 268

原创 顺序栈和链式栈

栈就相当于一口井,往井里面放东西,遵循先进先出,后进后出的原则。

2024-07-18 19:23:28 182

原创 用C语言实现顺序队列和顺序队列

队列最重要记住的一句话就是:先进先出,后进后出,所谓队列,元素的出入就与排队一样。

2024-07-17 20:04:50 338

原创 用双向循环链表实现约瑟夫环

我们要剔除一个值,但只用一个变量,在我们删除的时候,这个变量值消失,我们就无法找到这个链表,所以我们要用两个变量,记录当前值和前一个的值,循环的条件为,当前的链表中只有一个元素,2.为了使这个链表是正序的状态,应该使用尾插法(注意第一个元素中肉节点的指向)1.每一个人是一个节点,要将每个人标号,并添加到这个链表中。3.这是个环,要将最后一个元素指向头节点。第二个接口是,查看这个环,看看自己初始化是否正确。C语言中运用双向循环链表写约瑟夫环。第三个接口,开始进行游戏。

2024-07-15 20:41:22 154

原创 单向循环链表将带头指针的转化为带头节点

转化最关键的一步就是将dummy节点指向头节点,就可以把dummy节点当作头节点,接下来的操作就和带头节点的单项链表的操作一样了。将带头指针的链表转化为带节点的指针,主要是利用一个虚拟节点dummy节点;先判断要插入的位置是否在边界内,不在则直接返回。首先创建一个虚拟节点dummy节点。前面链表头节点的初始化就不说了。我们主要以插入为例,这是接口。在将p移动到pos前一个位置。现在附上表头结构和节点结构。创建新节点,并进行赋值移动。最后只要更新头节点即可。

2024-07-15 19:24:41 122

空空如也

空空如也

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

TA关注的人

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