#Nginx
Nginx源码剖析之基本数据结构:双向链表
offsetof(type, link)宏函数,用于获取link成员相对于其结构体type起始地址的偏移量(以字节为单位),即这个宏返回宿主结构体的首地址。通过该宏,可以将链表操作与具体数据结构解耦,使链表可以用于多种数据结构
Nginx源码剖析之基本数据结构:字符串
nginx 的字符串 是一个字符数组,其中记录有字符串长度的信息
Nginx源码剖析之基本数据结构:单向链表
还可以明显看到,nginx 的链表中会提前创建出一个节点。到后面你就会看到,nginx 的链表中的节点,如果在没有扩容的情况下,是不会继续创建新节点的。因为它的数据存储在其他内存,这块内存起始地址由 elts 指针指向
Nginx源码剖析之基本数据结构:数组
支持从后面添加一个或多个元素,不支持弹出元素
Nginx源码剖析之基本数据结构:内存池
阅读任何源代码基础数据结构之前,得先阅读内存池源码