struct sdshdr { //记录buf数组中已使用字节的数量 //等于SDS所保存字符串的长度 int len; //记录buf数组中未使用字节的数量 int free; //字节数组,用于保存字符串 char buf[]; }
typedef struct listNode { //前置节点 struct listNode *prev; //后置节点 struct listNode *next; //节点的值 void *value; }listNode;
typedef struct list { //表头节点 listNode *head; //表尾节点 listNode *tail; //链表所包含的节点数 unsigned long len; //节点复制函数 void *(*dup)(void *ptr); //节点释放函数 void *(free)(void *ptr); //节点对比函数 inr *(*match)(void *ptr,void *key); }list;
三个函数去实现多态。
原文:https://www.cnblogs.com/2462478392Lee/p/14744944.html