自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王洋的博客

走心的C —— Romantic_C

  • 博客(82)
  • 资源 (1)
  • 收藏
  • 关注

原创 链表常见面试题总结

链表常见面试题总结:/**********头文件************/#pragma once typedef int DataType;typedef struct SListNode{ DataType _data; struct SListNode* _pNext;}Node,*PNode;void SListInit(PNode* p...

2018-08-03 22:55:31 535

原创 C语言中的关键字及常用语句

C语言中的关键字及常用语句

2017-11-29 14:14:48 5693 3

原创 go语言数据的类型与结构

数据类型:数据结构:

2020-08-30 01:10:30 192

原创 Go mod与go path

Go Mod:Go path:

2020-08-30 01:08:32 222

原创 RS-485、RS-422、RS-232通讯协议

RS-485、RS-422、RS-232通讯协议:

2020-02-18 15:25:23 596

原创 git的使用

git clone 下载的链接 (将文件下载下来)git init 初始化本地当前目录的git仓库git add -A 增加目录中所有的文件到缓存区git add 文件 增加相应文件到缓存区git commit 将缓存区中更改提交到本地仓库git push 会将本地仓库中HEAD所指向的版本存放到远程仓库git log 查看当前版本之前的提交记录git branch -b...

2020-01-14 16:11:49 218

原创 表的CRUD

增加(Create)、读取查询(Retrieve)、更新(Update)、删除(Delete)--------------- 增删查改 --------------一.增加 insert intoinsert into ta_name[不写,默认全部属性] values(数据),...二.改 updateupdate 表名 set 要修改的列名=修改后的值,... [where 条...

2018-10-02 18:13:22 777

原创

--------------数据类型-------------1.数值型整数:tinyint(-128 - 127)tinyint unsinged (0-255)int(32),bigint(64);浮点数:float(M,N);#精度7位decimal(m,n);#精度64位,M表示总长度,N表示小数位数decimal(m,n)unsigned;#负数去掉 正数不变2.文...

2018-10-02 14:00:02 202

原创 库操作&表操作

--------------库操作-----------------show databases; #展示库show tables; #展示表create table linux( #创建表 name varchar(10), passward varchar(6));insert into linux values('张飞','123456');#插入元素...

2018-10-02 13:42:56 246

原创 HTTP项目

#include <stdio.h>#include <string.h>#include <stdlib.h> //NULL#include <pthread.h>#include <unistd.h>#include <sys/socket.h&a

2018-08-30 21:40:37 712

原创 文件压缩

项目名称:文件压缩开发环境:VS2013 使用语言:C/C++项目技术:Huffman树,I/O流,模板,String容器,文件操作等项目描述: <1>.文件压缩过程:先统计文件中每个ASSCII码出现的次数,采用贪心算法,用文件中ASCII码出现的次数构建Huffman树,生成每个ASCII所对应的Huffman编码,然后将原文件中的ASCII码,替

2018-08-19 21:00:36 370

原创 poll与epoll

pollpoll函数接口#include <poll.h>int poll(struct pollfd *fds,nfds_t nfds,int timeout);//参数1 结构体指针(结构体数组的首地址) //参数2 数组长度//参数3 poll函数的超时时间(同select)//返回值小于0,出错,等于0,poll函数等待超时//大于0,表示pol...

2018-08-19 15:21:01 686

原创 select

selectselect系统调⽤是⽤来让我们的程序监视多个⽂件描述符的状态变化的;程序会停在select这⾥等待,直到被监视的⽂件描述符有⼀个或多个发⽣了状态改变;#include <sys/select.h>int select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,st...

2018-08-18 16:15:29 211

原创 高级IO

阻塞IO 在内核将数据准备好之前, 系统调⽤会⼀直等待. 所有的套接字, 默认都是阻塞⽅式⾮阻塞IO 如果内核还未将数据准备好, 系统调⽤仍然会直接返回, 并且返回EWOULDBLOCK错误码,⾮阻塞IO往往需要程序员循环的⽅式反复尝试读写⽂件描述符, 这个过程称为轮询. 这对CPU来说是较⼤的浪费, ⼀般只有特定场景下才使⽤信号驱动IO 内核将数据准备好的...

2018-08-18 00:07:34 223

原创 数据链路层

数据链路层:⽤于两个设备(同⼀种数据链路节点)之间进⾏传递 代表物:网桥,交换机 协议:MAC,PPP,FR,HDLR,VLAN以太网“以太网” 不是⼀种具体的网络, ⽽是⼀种技术标准; 既包含了数据链路层的内容, 也包含了⼀些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制⽅式, 传输速率等;例如以太网中的网线必须使⽤双绞线; 传输速率有10M, 100M, 100...

2018-08-17 15:07:46 284

原创 网络层

网络层功能:地址管理,路由选择 网络层协议:IP,ICMP,ARP等IP协议 (IPV4(主),IPV6)IP协议头格式 4位版本号: 指定IP协议的版本, 对于IPv4来说, 就是44位头部⻓度: IP头部的⻓度是多少个32bit, 也就是 length * 4 的字节数. 4bit表⽰最⼤的数字是15, 因此IP头部最⼤⻓度是60字节. 8位服务类型: 3位优先...

2018-08-17 01:18:13 1507

原创 传输层

TCP(Transmission Control Protocol):传输控制协议TCP协议段格式32位序列号:数据包编码4位TCP报头⻓度: 表⽰该TCP头部有多少个32位bit(有多少个4字节); 所以TCP头部最⼤⻓度是15 * 4 =60 URG: 紧急指针是否有效 ACK: 确认号是否有效 PSH: 提⽰接收端应⽤程序⽴刻从TCP缓冲区把数据读⾛ ...

2018-08-16 19:24:33 555

原创 应用层

URL(网址) 登录信息已经看不到啦 HTTP协议下服务器端口号不写默认为80 ?号后边为查询字符串:每个键值对用&隔开,键和值用=隔开 域名<例:baidu>与IP地址< 16位点分十进制 &

2018-08-16 12:47:14 295

原创 基于TCP的服务器

Liunx/***************** server.c *******************/#include <stdlib.h> #include <stdio.h> ...

2018-08-15 17:24:40 331

原创 基于UDP的服务器

UDP传输层协议 无连接 不可靠传输 面向数据报

2018-08-15 17:10:06 891

原创 网络编程套接字

linux操作系统IP地址 IP地址是⼀个4字节, 32位的整数,通常也使⽤ “点分⼗进制” 的字符串表⽰IP地址端口号 端口号是一个2个字节16位的整数,用来标识一个进程。IP地址+端口号能够标识网络上的某一台主机的某一进程; 一个进程可以绑定多个端口号,但一个端口号不能被多个进程绑定。网络字节序 内存中的多字节数据相对于内存...

2018-08-15 15:06:46 300

原创 OSI七层模型

OSI七层模型,及其特性、功能、协议

2018-08-14 13:43:50 319

原创 二叉树(2)

/****************** "BTree.h" ************************/#pragma once#include "Queue.h"typedef char BTDataType;typedef struct BinTreeBTNode{ struct BinTreeBTNode* _pLeft; struct Bin...

2018-08-13 21:32:01 473

原创 二叉树(1)

/******************* "BinTree.h" ***********************/#pragma oncetypedef char BTDataType;typedef struct BinTreeBTNode{ struct BinTreeBTNode* _pLeft; struct BinTreeBTNode* _pRight...

2018-08-13 21:26:28 449

原创 智能指针及其实现

智能指针:不需要用户去考虑申请的空间什么时候释放(将可以解决这个问题的指针成为智能指针)RAII(Resource Acquisition Is Initialization) RAII(资源分配即初始化)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。 即(定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构...

2018-08-12 00:59:13 398

原创 C++异常处理

C++异常处理方式 1 . 终止程序(除数为0) 2 . 返回一个表示错误的值,附加错误码(GetLastError()) 3 . 返回一个合法值,让程序处于某种非法的状态(坑爹的atoi()) 4 . 调用一个预先准备好在出现”错误”的情况下用的函数(回调函数) 5 . 暴力解决方式:abort()或者exit() 6 . 使用goto语句 7 ....

2018-08-11 14:59:34 293

原创 C++模板

泛型编程 泛型编程:编写与类型无关的逻辑代码,是代码复用的一种手段。模板是泛型编程的基础函数模板模板分类:函数模板、类模板概念 函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本函数模板格式 template < typename T1, typename T2,……,cl...

2018-08-11 13:17:30 333

原创 C++多态

多态:具有多种形态,在不同的条件下,有不同的状态1、静态多态(静态链编译,静态绑定,早绑定) 静态多态是编译器在编译期间完成的,编译器根据函数实参的类型(可能会进行隐式类型转换),可推断出要调用那个函数,如果有对应的函数就调用该函数,否则出现编译错误函数重载相关知识点//函数重载举例int Add(int left, int right){ ...

2018-08-10 20:39:26 373

原创 C++继承

C++内存管理认识内存中的堆、栈、自由存储区、全局/静态存储区和常量存储区。   栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。   堆:就是那些由 new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个 de...

2018-08-10 02:10:26 281

原创 c和c++的区别

c是面向过程的,数据与算法分开。它的重点在于算法和数据结构。侧重于计算机底层操作。 c++是面向对象的,主要特点是类,封装和继承。与C的区别主要为 :类、继承和多重继承、运算符重载、类模板、C++标准库、模板库。 C++是C的超集,也可以说C是C++的子集,因为C先出现。按常理说,C++编译器能够编译任何C程序,但是C和C++还是有一些小差别。 例如C++增加了C不...

2018-08-08 17:50:55 8078

原创 探索new/malloc 、delete /free区别

C内存管理堆上 C语言中使用malloc/calloc/realloc/free进行动态内存管理,malloc/calloc/realloc用来在堆上开辟空间,free将申请的空间释放掉 堆上的内存需要用户自己来管理,动态malloc/calloc/realloc的空间,必须free掉,否则会造成内存泄露探索malloc、calloc、realloc区别...

2018-08-08 17:19:24 346

原创 友元

友元分为:友元函数和友元类友元函数 友元函数可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但需要在类的内部声明,声明时需要加friend关键字。 1.友元函数可访问类的私有成员,但不是类的成员函数 2.友元函数不能用const修饰 3.友元函数可以在类定义的任何地方声明,不受类访问限定符限制 4.一个函数可以是多个类...

2018-08-08 11:39:27 444

原创 内联函数与宏函数的区别

内联函数概念 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率特性 inline是一种以空间换时间的做法,省去调用函数额开销。所以代码很长或者有循环/递归的的函数不适宜使用内联 2.inline对于编译器而言只是一个建议,编译器会自动优化,如果定义为inline的函数体内...

2018-08-07 22:04:20 5128 1

原创 类的六个默认成员函数、const、static用法

1.构造函数构造函数概念 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时,由编译器自动调用,在对象的生命周期内只调用一次,保证每个数据成员都有一个合适的初始值构造函数特性 1.函数名与类名相同 2.没有返回值 3.新对象被创建时,由编译器自动调用,且在对象的生命周期内仅调用一次 4.构造函数可以重载,实参决定了调用...

2018-08-07 21:03:49 609

原创 类对象模型

类—->实例化—->对象 类有大小(只包含成员变量大小),没有实际空间。空类大小为1(区分类对象)。类的实例化 用类类型创建对象的过程,称为类的实例化 1. 类只是一个模型一样的东西,限定了类有哪些成员,定义出一个类并没有分配实际的内存空间来存储它 2. 一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间存储类成员变量 3....

2018-08-07 15:20:13 2279

原创 引用&指针、传值&传引用&传址的区别

引用概念(贴标签式) 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间 类型& 引用变量名(对象名) = 引用实体;使用场景 1.作为函数形参 2.作为函数返回值注意事项 a. 引用在定义时必须初始化 b. 一个变量可以有多个引...

2018-08-07 13:30:45 1586

原创 C++函数重载

1.C与C++函数对比:返回值: C语言函数缺省返回值,默认为int。 C++不支持函数返回值缺省,如果一个函数没有返回值则必须指定为void。参数列表: 在C语言中,函数没有指定参数列表时,默认可以接收任意多个参数。 在C++中,因为严格的参数类型检测,没有参数列表的函数,默认为void,不接收任何参数。但C++参数列表中可以存在缺省参数,C语言不可...

2018-08-06 18:55:07 482

原创 队列的基本操作

引用块内容 引用块内容#if 0#include <stdio.h>#include <assert.h>#include <sydlib.h>#define MAX_SIZE 10typedef int DataType;typedef struct Queue{ DataType _array[MAX_S...

2018-08-04 00:36:19 2012

原创 栈的基本操作

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。不含任何元素的栈称为空栈,栈又称为后进先出的线性表。压入push和弹出pop!插入是增加数据,弹出是删除数据,这些操作只能从栈顶即最低地址作为约束的接口界面入手操作 栈的分类:顺序栈,链式栈,下面代码为顺序栈#pragma once#include...

2018-08-03 23:26:16 729

原创 堆排序

堆排序 堆排序:是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶。 是否稳定:不稳定 时间复杂度:O(N*lgN) 空...

2018-07-29 12:55:30 289

文件压缩源码

C++,windows。文件压缩过程:先统计文件中每个ASSCII码出现的次数,采用贪心算法,用文件中ASCII码出现的次数构建Huffman树,生成每个ASCII所对应的Huffman编码,然后将原文件中的ASCII码,替换成Huffman编码,并将文件中出现过的所有ASCII及其次数存入压缩文件起始位置,从而降低文件的大小。

2018-08-17

空空如也

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

TA关注的人

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