【发布时间】:2010-04-20 08:44:49
【问题描述】:
我在编写 C 时通常会忽略使用宏,但我认为我了解宏的基本知识。当我在阅读linux内核中list的源代码时,我看到了类似的东西:
#define LIST_HEAD_INIT(name) { &(name), &(name) }
#define LIST_HEAD(name) \
struct list_head name = LIST_HEAD_INIT(name)
(您可以从here.访问代码的其余部分)
我不明白 LIST_HEAD_INIT 中与符号的功能(我认为它们不是这里的操作数的地址)以及代码中 LIST_HEAD_INIT 的使用。如果有人能启发我,我将不胜感激。
【问题讨论】:
标签: c linux list macros c-preprocessor