自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++】c++禁止联合体中包含有非默认的构造函数和析构函数的类型

【代码】【C++】c++禁止联合体中包含有非默认的构造函数和析构函数的类型。

2024-06-27 15:32:49 115

原创 【网络】网络套接字:UDP/TCP -socket编程

目录一、网络套接字二、网络数据字节序1、字节序是什么2、如何判断自己主机的字节序是大端or小端?3、网络中的字节序4、主机字节序和网络字节序的转换三、UDP-socket编程一、网络套接字在Linux中,Socket(套接字)表示进程间网络通信的特殊文件类型;本质为内核借助缓冲区形成的伪文件;与管道类似,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是管道主要应用于本地进程间通信,而套接字多应用于网络进程间数据的传递。在TCP/IP协议

2022-10-24 23:33:51 498 1

原创 【网络】网络总结

关于网卡、网关、路由器、交换机等网络难度问题

2022-06-20 17:38:35 2057

原创 【网络】网络基础概念

网络基础知识

2022-06-13 22:40:18 2485 1

原创 【Linux】线程:生产者-消费者模型 & 信号量

解析线程的 “生产者-消费者模型”、线程信号量

2022-06-07 16:37:52 485

原创 【Linux】线程安全:死锁(附加gdb调试分析)

线程安全的死锁分析gdb调试指令的展示

2022-06-04 23:20:00 755

原创 【Linux】线程安全:互斥 & 同步

详谈线程安全机制:互斥(互斥锁)& 同步(条件变量)

2022-05-31 23:56:47 694

原创 【Linux】线程概念 && 线程控制(接口详谈)&& 僵尸线程的产生和解决

详谈线程基本概念 & Linux中线程相关的各种接口

2022-05-30 19:45:23 1458

转载 【零碎知识2】浮点型数据的一般只需虑精度(有效位),范围一般不考虑(够大了)

浮点型数据的范围float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:因此:float的指数范围为-127 ~ +128,而double的指数范围为-1023 ~ +1024;且指数位是按补码的形式来划分的;浮点型数据的精度float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”;float:2^23 = 8388608,一共七位,这意味着最多能

2022-05-24 09:39:34 228

原创 【C++】STL之string类的模拟实现

STL的string模拟实现,帮助了解其底层原理

2022-05-09 23:51:50 559

原创 【C++】STL之string

详谈STL的string类~

2022-05-05 17:28:23 777 4

原创 【C++】模版的分离编译与多文件编程

深度剖析 模版的分离编译及其原理~实践模版的多文件编程~

2022-05-04 08:43:07 954 2

原创 【C++】详谈模版

深入了解C++的模版机制...

2022-05-03 10:17:03 2048 5

原创 【C++】C&C++动态内存管理

相同C/C++的动态内存管理;深入了解new和delete

2022-05-02 17:02:33 1474 4

原创 【C++】类(下):类成员与explicit、const、mutable、volatile、static、friend关键字

详谈关键字explicit、const、mutable、volatile、static、friend 和类

2022-04-27 21:15:46 1244 13

原创 【C++】类(中):类中的默认成员函数

详谈 类中 默认的六个成员函数!

2022-04-26 01:06:58 1583 3

原创 【C++】类(上):初识类和对象

初步了解C++的 类和对象,深刻理解类和对象的底层原理...

2022-04-17 13:45:16 1128 8

原创 【Linux】进程控制(一)进程创建(原理+接口调用)及虚拟地址空间

详解 进程创建fork函数、Linux的虚拟内存机制、写时拷贝机制...

2022-04-15 23:50:45 976 11

转载 C语言 getchar()、get()、scanf()函数的区别

输入getchar()函数:getchar()函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符,按回车符时退出。使用本函数前必须包含文件“stdio.h”。输入gets()函数:gets()函数接受字符串,同时也可以接受字符串中含有空格符。但是scanf(“%s”,str)不能接受含有空格符的字符串,scanf()函数取数据是遇到回车、空格、TAB就会停止,剩余字符串将留在缓冲区中。输入scanf()函数:1:用于保存读入值的变量必须都是变量指针,即相应变量的地址。

2022-04-03 10:50:26 2149 3

原创 【Linux】进程概念——父子进程、僵尸进程和孤儿进程

透彻了解父子进程、僵尸进程、孤儿进程

2022-03-31 17:43:02 9152 9

原创 【Linux】进程概念——进程本质与PCB(进程控制块)

进程概念与PCB详解(新手必看)

2022-03-30 00:41:30 5919 8

原创 【C++】详谈关键字static

C语言 与 C++ 中 static关键字的使用场景详细解释

2022-03-22 14:23:04 753 8

原创 【Linux】Shell 与 权限管理

目录ShellLinux中的权限概念Linux中用户种类文件与文件夹的权限粘滞位ShellShell:命令行解释器,是Linux操作系统的概念。主要的功能:将使用者的命令翻译给OS核心处理,同时将核心的处理结果反馈给使用者。单独谈Linux的Shell概念我们可能一时摸不着头脑,拿我们熟知的windows系统来说吧:用户在操作系统想新建一个文件夹,只需在windows窗口打开文件管理系统,新建文件夹即可,这个窗口,就是Windows特殊的图形用户界面。这个图形用户界面能非常方便用户的使用,

2022-03-21 16:57:41 2871 8

原创 【C++】C++ 从入门到放弃 ?

C++入门其实很简单~

2022-03-21 11:35:36 1972 10

原创 【零碎知识01】二维数组中的*a、a、a[0]、a[0][0]、a[1]、&a[1]

二维数组要深刻理解二维数组,需要了解二维数组的三点特性:1、二维数组本质上是一位数组,他的每个元素都是一维数组;2、当数组名单独出现时,一般指首元素的地址;3、在C语言中,数组与指针有着密不可分的关系:对于二维数组,他的数组名单独出现指一个二级指针的值具体例子设一个二维数组 int a[4][5],一个4行5列的数组,即四个一维数组的组合,每个一维数组有5个元素。a当数组名单独出现时,指的是第一个数组元素的地址,在二维数组中,元素是一维数组,那么一维数组的地址就是一个二级指针。故:a

2022-02-21 22:21:34 15015 10

原创 【Linux】Linux系统的常见指令

Linux 指令详解

2022-01-14 21:57:07 1238

原创 【数据结构】栈与队列的简单应用

括号匹配问题栈与队列相互实现

2022-01-11 17:22:31 487

原创 【数据结构】栈与队列

解决栈与队列90%的问题

2022-01-10 21:05:00 882

原创 【数据结构】链表经典练习题

1.移除单链表元素2.逆转单链表3.获取链表的中间结点4.获取链表中倒数第k个结点5.合并两个有序单链表6.单链表一分为二7.判断链表是否为回文结构

2022-01-01 22:16:59 4340 8

原创 【数据结构】链表

目录一、数据结构----链表1.什么是链表2.链表共分几类二、无头结点单向非循环链表1.==单向链表的空间开辟方式==【重点】不带头结点带头结点==头结点是什么?====有无头结点区别==2.申请新结点3.释放链表(不要忘记)4.单链表插入结点(尾插&头插)a.链表是否为空b.==传参为什么用二级指针?==5.单链表删除结点(尾删&头删)a.链表是否为空b.链表不为空6.单链表按数据域查找7.单链表在任意位置插入&删除结点a.为什么不在pos位置之前插入b.为什么不删除pos位置8.

2021-12-13 15:50:51 885

原创 【数据结构】动态顺序表

目录一、数据结构前言1. 数据结构:==数据和数据间的组织方式==2. 程序(数据和函数组成) = 数据结构 + 算法3. 时间复杂度4. 空间复杂度二、顺序表1.顺序表的两种开辟方式一、数据结构前言1. 数据结构:数据和数据间的组织方式2. 程序(数据和函数组成) = 数据结构 + 算法3. 时间复杂度概念:一个算法程序的某一语句的执行次数(而不是该算法的运行时间);时间复杂度是一个函数 T (n) ,为方便一般使用大O表示法标准:渐进时间复杂度 O (f (n));常见算法时间复

2021-11-27 22:50:40 857 2

原创 C语言 一些字符串库函数和其模拟实现

目录字符串函数(下列头文件均为“string.h”)1.strlen (求字符串长度)原型模拟实现2.strcpy (字符串拷贝)3.strcat(字符串拼接)4.strcmp(字符串比较)5.strncpy(长度受限字符串拷贝)6.strncat(长度受限字符串拼接)7.strncmp(长度受限字符串比较)8.strstr(字符串字串查找)9.strtok(字符串打散)10.strerror(错误报告)内存操作函数1.memcpy(按字节内存拷贝)2.memmove( 可按字节拷贝两个重叠内存)3.mem

2021-11-02 00:30:33 850 1

原创 C语言 浮点型在内存中的存储

目录一、浮点类型要点二、浮点型储存规律三、例题解释一、浮点类型要点常见浮点型:float(四字节)、double(八字节)浮点类型没有无符号类型,也就是说浮点型内存中一定有符号位与浮点型有关的操作不会发生整型提升(只在char与int之类的整型之间),但是要注意隐式类型转换浮点型数据不能作 == 或 != 比较,只可区间比较(解释在下文)二、浮点型储存规律通过例子了解浮点型与整型的差异:int main(){ int n = 9; float *pf = (float *)&a

2021-10-10 00:01:45 734 2

原创 C语言 深度解析数据在内存中的存储

目录检索文章摘要一、C语言的数据类型二、隐式类型转换1.什么是隐式类型转换2.==整型提升==3.类型转换三、机器大小端1.什么是大小端2.大小端在截断的应用3.判断当前机器的字节序是大端还是小端==四、整型在内存中的存储==1.原码、反码、补码==2.举例实践整型数据在内存的存储==五、浮点型在内存中的存储文章摘要本文通过内存底层原理,帮你透彻了解数据存储进内存与从内存中读取的区别以及不同数据类型下数据计算、赋值的变化情况要透彻理解这些,必须知道隐式类型转换以及机器大小端的概念,本文会对此做简单介绍

2021-09-27 19:54:29 494 5

原创 C语言实现三子棋、五子棋、扫雷游戏合集详解

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-06-23 00:04:38 704

原创 算法:二分查找(折半查找)

二分查找:在一个有序的序列中,找某个数据是否在该集合中,如果在打印该数据在集合中的下标,否则打印找不到具体找的方式:找到数组的中间位置检测中间位置的数据是否与要查找的数据key相等a: 相等,找到,打印下标,跳出循环b: key < arr[mid], 则key可能在arr[mid]的左半侧,继续到左半侧进行二分查找c: key > arr[mid], 则key可能在arr[mid]的右半侧,继续到右半侧进行二分查找如果找到返回下标,否则继续,直到区间中没有元素时,说明key

2021-05-19 13:30:03 1734 9

原创 算法:打印100~200之间的素数

素数:即质数,除了1和自己之外,再没有其他的约数,则该数据为素数,具体方式如下方法一:试除法int main(){ int i = 0; int count = 0; // 外层循环用来获取100~200之间的所有数据,100肯定不是素数,因此i从101开始 for (i = 101; i <= 200; i++) { //判断i是否为素数:用[2, i)之间的每个数据去被i除,只要有一个可以被整除,则不是素数 int j = 0; for (j = 2; j<i

2021-05-19 13:11:36 774 4

原创 C语言中一些易混淆忽视的知识点

C语言中一些易混淆忽视的知识点一、使用 VS2013 作为编译环境时需要注意的几点问题在 VS2013 中使用 scanf 输出函数时,编译会报错,提示我们使用scanf_s等相应的函数,虽然这种方法更有利于程序的安全,但很多时候很不方便,不利于代码的移植。我们可以采取更好的方法:1)添加预处理#pragma warning(disable:4996)忽视该警告2)添加预处理#define _CRT_SECURE_NO_WARNINGS一般情况使用 VS2013 编译运行C语言代码时,可

2021-05-15 00:54:29 1503 12

空空如也

空空如也

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

TA关注的人

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