天天看点

wayland数据结构之wl_array

struct wl_array {

size_t size;

size_t alloc;

void *data;

};

数组结构体:data保存实际的数据,size保存实际数据的大小,alloc保存当前data总共分配的大小(malloc/realloc分配的大小)。

其中,alloc总是大于size,因为空间总要比保存的数据大才行,另外当往数组里面插入数据的时候,alloc不够大了,

那么就会以当前alloc大小翻倍的大小重新分配内存。

用法:

wl_array_add 添加一个数组成员! (函数内部自动申请连续内存)      

该函数传入一个大小,返回该大小内存的地址,用来存放该数组成员。