zabbix数据结构研究
向量
本质是一个可以扩展的数组,每个元素类型必须相同
支持的元素类型共13种,使用最多:uint64,ptr
定义
使用了带参数的宏来定义向量结构体
#define HBR_VECTOR_DECL(__id, __type) \
\
typedef struct \
{ \
__type *values; \
int values_num; \
int values_alloc; \
hbr_mem_malloc_func_t mem_malloc_func; \
hbr_mem_realloc_func_t mem_realloc_func; \
hbr_mem_free_func_t mem_free_func; \
} \
hbr_vector_ ## __id ## _t;
*values用来实际存储元素
两个int,存储该向量的元素数量和容量
三个内存分配函数指针,决定该向量的元素存在什么地方
typedef void *(*hbr_mem_malloc_func_t)(void *old, size_t size);
typedef void *(*hbr_mem_realloc_func_t)(void *old, size_t size);
typedef void (*hbr_mem_free_func_t)(void *ptr);
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果