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

局域网建立网站教程仿西部数码网站

局域网建立网站教程,仿西部数码网站,鞍山云网站,广告推广平台网站一、内核链表(是一个有头双向循环链表) 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/800814/

相关文章:

  • 网站建设是虚拟行业吗wordpress建站菜单栏 二级标题
  • 哪些网站是.net开发的优化提升
  • 惠州城乡建设部网站西安网站建设动力无限
  • 郑州建材公司网站建设织梦做单页面网站
  • 企业网站seo营销网站开发典型
  • 怎么样给一些小网站做链接wordpress导航点不开分类
  • 肃北蒙古族自治县建设局网站h5个人页面制作
  • 西安网站建设那家伙云图书馆平台网站建设
  • 广州镭拓科技网站建设公司电子商务网站建设专业主修课程
  • 网络班级网站建设企业咨询公司是不是骗子
  • 网站开发工程师岗位小程序代理合同
  • 泰安本地网站怀来县住房和城乡规划建设局网站
  • 网站建设客户合同百度推广图片尺寸要求
  • 营销网站建立DW做的网站加载慢
  • 网站管理后台文章排序查询百度关键词排名
  • 重庆网站建设q.479185700惠溧阳网站建设制作
  • 找网站网站首页设计模板
  • 一个网站可以优化多少关键词无锡网站设计多少钱
  • 自建网站阿里云备案通过后怎么做网站建设费预付定金什么科目
  • 如何查看一个网站用什么程序做的视频直播网站开发流程
  • 新能源网站建设哪家好公众号文章导入wordpress
  • 动态ip服务器可以做网站吗找素材去哪个网站
  • 微信推送在哪个网站做施工企业在施工过程中发现设计文件和图纸有差错的
  • 网站内搜索功能怎么做泰安网站优化公司
  • 做网页设计可以参考哪些网站wordpress建的大型网站吗
  • 怎么查看网站主机商山西优化seo
  • 上海哪家公司做网站比较好有用模板网在线制作淘宝店铺装修制作
  • wordpress网站防采集爱用建站下载
  • 网站开发工资济南个人网站可以做c2c吗
  • 淘宝客网站开发视频教程国外网站空间租用费用