当前位置: 技术问答>linux和unix
谁可以告诉我一下,哈希表中,下面这个程序是什么意思?
来源: 互联网 发布时间:2017-04-23
本文导语: #define HASH_ITER(hh,head,el,tmp) for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL); el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh....
#define HASH_ITER(hh,head,el,tmp)
for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL);
el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL))
#endif
我能看出来,在删除结点,有没有人能详细描述一下,总觉得不清楚
for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL);
el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL))
#endif
我能看出来,在删除结点,有没有人能详细描述一下,总觉得不清楚
|
就是一个for循环头,从el=head开始,一直循环到el为NULL为止。大体是这个意思,DECLTYPE这个布吉岛是神马东西。
没看过内核的飘过
没看过内核的飘过
|
就是个for语句啊。
初始化:(el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL)
条件判断: el 是否为空
控制语句:(el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL)