当前位置: 首页 > news >正文

wordpress多站点教程中关村在线手机频道

wordpress多站点教程,中关村在线手机频道,北京邢台企业商会网站,东莞市住房和城乡建设网官网一、内核链表(是一个有头双向循环链表) 1.内核提供的两个宏 (1) offsetof : 获取结构体成员到结构体开头的偏移量; (2) contianer_of : 通过偏移量获取结构体首地址; 2.代码示例: truct passager *create_passage…

一、内核链表(是一个有头双向循环链表)

1.内核提供的两个宏

(1) offsetof : 获取结构体成员到结构体开头的偏移量;

(2) contianer_of : 通过偏移量获取结构体首地址;

2.代码示例:

truct passager *create_passager(char *name, int flt_num, int sit_num, char card)
{struct passager *p = malloc(sizeof(struct passager));if (NULL == p){perror("fail malloc");return NULL;}strcpy(p->name, name);p->flt_num = flt_num;p->sit_num = sit_num;p->card = card;return p;
}struct flight *create_flight(int flt_num,char *src,char *dst)
{struct flight *p = malloc(sizeof(struct flight));if(NULL == p){perror("fail malloc\n");return NULL;}p->flt_num = flt_num;strcpy(p->src,src);strcpy(p->dst,dst);return p;
}KLink_t *create_klink()
{KLink_t *pklink = malloc(sizeof(KLink_t));if (NULL == pklink){perror("fail malloc");return NULL;}pklink->phead = NULL;pklink->clen = 0;pthread_mutex_init(&(pklink->mutex), NULL);return pklink;
}int push_klink_head(KLink_t *pklink, void *p)
{KNode_t *pnode = (KNode_t *)p;pnode->pnext = NULL;pnode->ppre = NULL;pnode->pnext = pklink->phead;if (pklink->phead != NULL){pklink->phead->ppre = pnode;}pklink->phead = pnode;pklink->clen++;return 0;
}int push_klink_tail(KLink_t *plink, void *p)
{KNode_t *pnode = (KNode_t *)p;pnode->pnext = NULL;pnode->ppre = NULL;if (plink->phead == NULL){plink->phead = pnode;}else{KNode_t *p = plink->phead;while (p->pnext != NULL){p = p->pnext;}p->pnext = pnode;pnode->ppre = p;}plink->clen++;return 0;
}void klink_for_each(KLink_t *pklink, void (*pfun)(void *))
{KNode_t *pnode = pklink->phead;while (pnode != NULL){pfun(pnode);pnode = pnode->pnext;}
}
KNode_t *find_klink(KLink_t *pklink, void *t, CMP_t pfun)
{KNode_t *pnode = pklink->phead;while (pnode != NULL){if (pfun(t, pnode)){return pnode;}pnode = pnode->pnext;}return NULL;
}int is_empty_klink(KLink_t *pklink)
{return NULL == pklink->phead;
}int pop_klink_head(KLink_t *pklink)
{if (is_empty_klink(pklink))return 0;KNode_t *pdel = pklink->phead;pklink->phead = pdel->pnext;if (pklink->phead != NULL){pklink->phead->ppre = NULL;}free(pdel);pklink->clen--;return 1;
}void destroy_klink(KLink_t *pklink)
{while (!is_empty_klink(pklink)){pop_klink_head(pklink);}free(pklink);
}

http://www.yayakq.cn/news/140325/

相关文章:

  • 宜昌商城网站建设wordpress设置段落
  • 视觉创意网站广西长长路桥建设有限公司网站
  • 营销网站制作哪家好wordpress html5 视频播放
  • 宁波网站建设制作电话号码南京网站建设润洽
  • 福建住房与城乡建设网站个人网页设计作品手绘
  • 三亚网络网站建设网站开发与网页设计大作业
  • 苏州旅游网站设计宁波网站建设怎么建设
  • 地方门户网站appapp推广引流
  • 库易网网站西安旅游必去十大景点推荐
  • 门户网站建设步骤设计欣赏论文
  • 百度网站两两学一做心得体会商丘中茂网络有限公司
  • 集团网站建设要多少钱软件app开发公司电话
  • wordpress设置网站导航wordpress安装页面错乱
  • 公司查名网站北京活动策划网站
  • 网站开发怎么让别人看到seo sem是什么
  • 大数据平台建站wordpress怎么采集器
  • 山西省建设资格注册中心网站阿里云备案网站备案域名购买
  • 什邡移动网站建设郑州专业制作网站费用
  • 建个企业营销型网站cad软件
  • 安徽做网站电话开发区人力资源招聘网
  • 离石网站建设公司wordpress极简模板
  • 泰安网站制作推广怎样在网站做转向连接
  • 做土特产网站什么名字最好wordpress如何加入视频播放器
  • 网站建设 ipc备案制作app的公司有哪些
  • 网站seo优化关键词快速排名上首页二维码生成器微信小程序
  • 源丰建设有限公司网站网站建设与管理试卷A
  • 城镇建设周刊网站东莞寮步
  • 旅游型网站的建设背景图片新网站seo外包
  • 网站的模板管理小程序制作网站
  • 江门建站网站模板福州有网站开发的公司吗