'int(* enqueue)(struct,struct)'是什么意思'[复制]

问题描述 投票:1回答:2

这个问题在这里已有答案:

所有。我正在阅读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是指针吗?

c linux kernel
2个回答
3
投票
int (*enqueue)(struct sk_buff *skb, struct Qdisc *dev)

enqueue是一个指向返回intand的函数的指针,它指向struct sk_buff和指向struct Qdisc的指针。


2
投票

enqueue是指向(struct sk_buff *skb, struct Qdisc *dev)并返回int的函数的指针。

© www.soinside.com 2019 - 2024. All rights reserved.