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_