(结构名称*)b-> c这是什么意思?

时间:2017-11-06 16:15:39

标签: c struct linked-list

鉴于结构如下

typedef struct {
    char *a;
    char *val;
} kvp; 

typedef struct node {
    void *val;
    node *next;
} node;

node *n;
kvp *p = (kvp *)n->val;

p当它被声明为kvp *p = (kvp *)n->val;

1 个答案:

答案 0 :(得分:0)

如果您询问运算符优先级,->的优先级高于强制转换。

// This expression
(kvp *)n->val
// is evaluated as this:
(kvp *)(n->val)
// NOT this:
((kvp *)n)->val

Source(Google" C运营商优先级")