这个问题在这里已有答案:
所有。我正在阅读linux内核的源代码,找到一条我不理解的行:
file:/net/sched/sch_generic.c
位置:struct Qdisc
的定义:
struct Qdisc
{
int (*enqueue)(struct sk_buff *skb, struct Qdisc *dev);
struct sk_buff * (*dequeue)(struct Qdisc *dev);
unsigned flags;
#define TCQ_F_BUILTIN 1
#define TCQ_F_THROTTLED 2
#define TCQ_F_INGRESS 4
int padded;
struct Qdisc_ops *ops;
u32 handle;
u32 parent;
atomic_t refcnt;
....
int (*enqueue)(struct sk_buff *skb, struct Qdisc *dev)
是什么意思?
(第一行)? enqueue
是指针吗?
int (*enqueue)(struct sk_buff *skb, struct Qdisc *dev)
enqueue
是一个指向返回int
and的函数的指针,它指向struct sk_buff
和指向struct Qdisc
的指针。
enqueue
是指向(struct sk_buff *skb, struct Qdisc *dev)
并返回int
的函数的指针。