51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

C语言笔记

list 的实现方式 – C 语言(一)

list 的实现方式 – C 语言(一)

厉飞雨 阅读(11) 评论(0) 赞(4)

C 实现链表的方式有多种,这篇文章我们将实现一种简单的单向链表。C 语言中由于没有模板技术,实现能够存储不同类型的数据就需要根据实际需求来设计链表。 一种方法是链表可以只存储用户数据的指针,另外一种则将用户数据拷贝到链表中。 如果链表只存储数据的指针,则用户数据的内存由用户自行管理。这是因为用户的数据可能分配在堆上,也可能在栈上。如果用户数据分配在堆上,则需要注意的是,如果...

链表的实现方式 – C 语言(二)

链表的实现方式 – C 语言(二)

厉飞雨 阅读(11) 评论(0) 赞(4)

第二种链表的实现方式利用了 C99 中可伸缩数组成员这个特性,该特性使得我们在进行链表内存管理时,减少内存的申请和释次数。 第一种实现方式,我们在创建结点时如下图所示: ![](http://static.51tbox.com/static/2024-11-13/col/485bb62773e69cc6d293239853294de2/5374a271dd4b46b59300...

C 语言位域(bit filed)

C 语言位域(bit filed)

厉飞雨 阅读(13) 评论(0) 赞(3)

位域也叫做位段(bit field),使用位域能够节省结构体数据内存的占用。接下来,我们从以下几个方面来讲解下位域: 1. 位域的作用 2. 位域的语法 3. 位域的存储 以下代码运行环境为:win10 专业版 + vs2019 社区版。 1. 位域的作用 {#title-0} ------------------- 位域是一个结构体,使用 struct 关键字来进...

IO多路转接(复用)之select

IO多路转接(复用)之select

厉飞雨 阅读(9) 评论(0) 赞(0)

1. IO多路转接(复用) {#1-IO多路转接-复用} ============================ IO多路转接也称为IO多路复用,它是一种网络通信的手段(机制),通过`这种方式可以同时监测多个文件描述符并且这个过程是阻塞的,一旦检测到有文件描述符就绪( 可以读数据或者可以写数据)程序的阻塞就会被解除,之后就可以基于这些(一个或多个)就绪的文件描述符进行通信了...

IO多路转接(复用)之poll

IO多路转接(复用)之poll

厉飞雨 阅读(9) 评论(0) 赞(0)

1. poll函数 {#1-poll函数} ===================== poll的机制与select类似,与select在本质上没有多大差别,使用方法也类似,下面的是对于二者的对比: * 内核对应文件描述符的检测也是以线性的方式进行轮询,根据描述符的状态进行处理 * poll和select检测的文件描述符集合会在检测过程中频繁的进行用户区和内核区的拷贝,它的...

IO多路转接(复用)之epoll

IO多路转接(复用)之epoll

厉飞雨 阅读(12) 评论(0) 赞(4)

1. 概述 {#1-概述} ============= epoll 全称 eventpoll,是 linux 内核实现IO多路转接/复用(IO multiplexing)的一个实现。IO多路转接的意思是在一个操作里同时监听多个输入输出源,在其中一个或多个输入输出源可用的时候返回,然后对其的进行读写操作。epoll是select和poll的升级版,相较于这两个前辈,epoll改...

基于UDP的套接字通信

基于UDP的套接字通信

厉飞雨 阅读(11) 评论(0) 赞(2)

udp是一个面向无连接的,不安全的,报式传输层协议,udp的通信过程默认也是阻塞的。 * `UDP通信不需要建立连接` ,因此不需要进行connect()操作 * `UDP通信过程中,每次都需要指定数据接收端的IP和端口`,和发快递差不多 * `UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息` * `UDP对接收到的数据报不回复确认信息,发送...

UDP特性之广播

UDP特性之广播

厉飞雨 阅读(10) 评论(0) 赞(0)

1. 广播的特点 {#1-广播的特点} =================== 广播的UDP的特性之一,`通过广播可以向子网中多台计算机发送消息,并且子网中所有的计算机都可以接收到发送方发送的消息`,每个广播消息都包含一个特殊的IP地址,这个IP中子网内主机标志部分的二进制全部为1 (即点分十进制IP的最后一部分是255)。点分十进制的IP地址每一部分是1字节,最大值为255...

UDP特性之组播(多播)

UDP特性之组播(多播)

厉飞雨 阅读(10) 评论(0) 赞(3)

1. 组播的特点 {#1-组播的特点} =================== 组播也可以称之为多播这也是UDP的特性之一。`组播是主机间一对多的通讯模式,是一种允许一个或多个组播源发送同一报文到多个接收者的技术。`组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文的接收者都加入这...