注意的地方是:第二個元素是指針的指針。這與一般數據結構書中的慣例不同。一般數據結構書中第二個元素是指針,不是指針的指針。使用指針的指針很巧妙,到TAILQ_INSERT_TAIL代碼時說明為什麼這麼設計。 TAILQ_HEAD和TAILQ_INIT的實現比較簡單,前者定義了由兩個指針組成的結構體(即隊列類型),後者初始化。 #define TAILQ_HEAD(name, type) \ struct name { \ struct type *tqh_first; \ struct type **tqh_last; \ } #define TAILQ_INIT(head) do { \ (head)->tqh_first= NULL; \ (head)->tqh_last= &(head)->tqh_first;\ } while (0)
[admin via ] spring mvc是線程安全的嗎已經有746次圍觀