#define TCP_SKB_CB( __skb ) ((struct tcp_skb_cb *)&((__skb)->cb[0]))
&
在这种情况下这意味着什么?
答案1
这是标准的 C“地址”运算符...上面的结构意味着:
__skb
:赋予宏的参数(指向struct skbuff
)(__skb)->cb
:cb
skb中的数组(__skb)->cb[0]
:数组中的第一个元素&((__skb)->cb[0])
:第一个元素的地址((struct tcp_skb_cb *)&((__skb)->cb[0]))
:第一个元素的地址,转换为指向 a 的指针struct tcp_skb_cb