给出以下结构

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;时是什么

最佳答案

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

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


Source(Google“ C运算符优先级”)

关于c - (结构名称*)b-> c是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47141250/

10-12 01:03