读书人

(第一章 一)通用双向链表回调函

发布时间: 2012-10-27 10:42:25 作者: rapoo

(第一章 1)通用双向链表——回调函数

1. Segmentation fault (core dumped):

(1)正确:

?

#include <stdio.h>#include <stdlib.h>//通用双向链表typedef int DListRet;typedef DListRet (*DListDataPrintFunc)(void *data);#define DLIST_RET_OK 1#define DLIST_RET_STOP 2typedef struct _DListNode{struct _DListNode* prev;struct _DListNode* next;void* data;}DListNode;typedef struct _DList{DListNode *first;}DList;//"被调用函数"//DListRet dlist_print(DList *list, DListDataPrintFunc printFun);DListRet dlist_print(DList *list, DListDataPrintFunc printFun){DListNode *iter=list->first;while(iter!=NULL){printFun(iter->data);iter=iter->next;}}//"回调函数"//DListRet print_int(void *data);DListRet print_int(void *data){printf("%d",(int)data);return DLIST_RET_OK;}int main(){//初始化双向链表DListNode *a;DListNode *b=(DListNode *)malloc(sizeof(DListNode));a->data=(void *)2;b->data=(void *)3;a->next=b;a->prev=NULL;b->next=NULL;b->prev=a;DList *list=(DList *)malloc(sizeof(DList));list->first=a;//调用dlist_print(list,print_int);return 0;}

?

?

?

读书人网 >编程

热点推荐