int main(int argc, char *argv[]) { /** simple_lls *head; head=(simple_lls *)malloc(sizeof(simple_lls)); head->node.data=1; head->next=NULL; printf("head data = %d \n",head->node.data); free(head);**/ List *list=(List *)malloc(sizeof(List)); int data=1; int data2=2; int data3; listInit(list,&destroy); listInsertNext(list,NULL,(void *)&data); listInsertNext(list,NULL,(void *)&data2); listInsertNext(list,list->head->next,(void *)&data2); listRemoveNext(list,NULL,(void **)&data3); printf("list data = %d %d \n",*(int *)list->head->data ,*(int *)list->head->next->data); listDestroy(list); system("PAUSE"); return 0; }
void listDestory(List *list) { void *data; while (listSize(list) > 0) { if (listRemoveNext(list, NULL, (void **)&data) == 0 && list->destroy != NULL) { list->destroy(data); } } memset(list, 0, sizeof(List)); }