首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-10-27 
(第一章 1)通用双向链表——回调函数1. Segmentation fault (core dumped):(1)正确:?#include stdio.h#inc

(第一章 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;}

?

?

?

热点排行