/* 刪除壓縮表zl中p指向的結點,返回刪除結點之後的壓縮表
刪除之後p指向p的下一個結點,這樣方便對鏈表結點進行迭代刪除 */
unsigned char *ziplistDelete(unsigned char *zl, unsigned char **p) {
size_t offset = *p - zl;
/*函數__ziplistDelete功能:從壓縮表zl中指針*p指向的結點開始刪除,連續刪除1個結點*/
zl = __ziplistDelete(zl, *p, 1);
/*在刪除結點的時候,可能會對zl的內存進行重分配(比如保存前置結點長度的內存空間需要擴容),
所以利用offset首先記住p結點的位置,這樣在刪除結點之後,p指向的就是需要刪除的結點 之後的第一個結點 */
*p = zl + offset;
return zl;
}