Nginx基础. Nginx数组与链表

本文介绍了Nginx中的ngx_array_t和ngx_list_t两种数据结构。ngx_array_t是Nginx提供的数组容器,而ngx_list_t则是一个封装的链表容器,广泛应用于Nginx内部。文章通过对比libevent的TAILQ队列,帮助读者更好地理解Nginx中的链表概念。
摘要由CSDN通过智能技术生成

ngx_array_t 

实现文件: ./src/core/ngx_array.h     ./src/core/ngx_array.c


1. 数据结构定义
typedef struct {
    void        *elts;          //数组数据区起始位置
    ngx_uint_t   nelts;         //当前存放元素个数
    size_t       size;          //存放的每个元素的大小
    ngx_uint_t   nalloc;        //数组最大能存放的元素个数
    ngx_pool_t  *pool;          //使用的内存池对象
} ngx_array_t;
单纯的从结构定义可以看出, 数组是与内存池绑定的, 占用的空间由内存池分配


2. 数组操作
1.)创建
ngx_array_t *ngx_array_create(ngx_pool_t *p, ngx_uint_t n, size_t size);
2.) 初始化
static ngx_inline ngx_int_t
ngx_array_init(ngx_array_t *array, ngx_pool_t *pool, ngx_uint_t n, size_t size);
3.) 销毁
void ngx_array_destroy(ngx_array_t *a);
4.) 加入元素
void *ngx_array_
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值