1

我刚刚遇到了一件非常奇怪的事情:

我有一个结构,说:

typedef struct {
int x;
} STRUCT;

[我知道我可以说没有 typedef 的 struct STRUCT :)]

和一个指针STRUCT *p = NULL;

假设当我在函数中执行它时,这个指针(仍然)为空:

int *a = &p->x;

为什么这实际上有效?但是这个:int a = p->x给出一个nullptr错误?

编辑:据我所知,'->' 运算符的优先级高于地址(&)。

4

0 回答 0