首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

一个链表宏的有关问题

2012-03-24 
一个链表宏的问题#define TAILQ_FOREACH_SAFE(var, head, field, tvar)\for ((var) TAILQ_FIRST((head))

一个链表宏的问题
#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
  for ((var) = TAILQ_FIRST((head)); \
  (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  (var) = (tvar))

该for循环的第2个判断条件是什么意思?

[解决办法]
当前结点、下一个结点都不为空
[解决办法]
逗号运算符,这里的1表示后面值逻辑上总是true的
整个表达式是把var设置到链表的最后一个节点后的空节点

热点排行