天天看點

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 添加一個數組成員! (函數内部自動申請連續記憶體)      

該函數傳入一個大小,傳回該大小記憶體的位址,用來存放該數組成員。