鉴于结构如下
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;
答案 0 :(得分:0)
如果您询问运算符优先级,->
的优先级高于强制转换。
// This expression
(kvp *)n->val
// is evaluated as this:
(kvp *)(n->val)
// NOT this:
((kvp *)n)->val
Source(Google" C运营商优先级")