如果使用address-of,则访问结构的NULL指针的字段是有效的

时间:2017-12-04 16:26:58

标签: c++ pointers struct nullpointerexception addressof

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

我有一个结构,说:

typedef struct {
int x;
} STRUCT;

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

和一个指针STRUCT *p = NULL;

假设在函数内部执行此操作时该指针仍为(仍为)null:

int *a = &p->x;

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

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

0 个答案:

没有答案