大佬教程收集整理的这篇文章主要介绍了在Linux中使用C代码的Curly Brace用途(include / linux / list.h)?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
花括号做什么?为什么这个陈述中有’1’?
如果有人能解释这一特定的行,我将不胜感激.注意,我不需要解释链接列表和#defines如何工作等.
704 /** 705 * hlist_for_each_entry_safe - iterate over list of given type safe against removal of list entry 706 * @pos: the type * to use as a loop cursor. 707 * @n: another &struct hlist_node to use as temporary storage 708 * @head: the head for your list. 709 * @member: the name of the hlist_node within the struct. 710 */ 711 #define hlist_for_each_entry_safe(pos,n,head,member) \ 712 for (pos = hlist_entry_safe((head)->first,typeof(*pos),member);\ 713 pos && ({ n = pos->member.next; 1; }); \ 714 pos = hlist_entry_safe(n,member)) 715
({ n = pos->member.next; 1; })
值为1.根据文档:
它给出了这个例子而不使用语句表达式:
#define max(a,b) ((a) > (b) ? (a) : (b))
与这个安全版本相比,您需要知道操作数的类型:
#define maxint(a,b) \ ({int _a = (a),_b = (b); _a > _b ? _a : _b; })
以上是大佬教程为你收集整理的在Linux中使用C代码的Curly Brace用途(include / linux / list.h)?全部内容,希望文章能够帮你解决在Linux中使用C代码的Curly Brace用途(include / linux / list.h)?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。