标签: c++ pointers struct nullpointerexception addressof
我刚遇到一件非常奇怪的事情:
我有一个结构,说:
typedef struct { int x; } STRUCT;
[我知道我可以说没有typedef的struct STRUCT:)]
和一个指针STRUCT *p = NULL;
STRUCT *p = NULL;
假设在函数内部执行此操作时该指针仍为(仍为)null:
int *a = &p->x;
为什么这实际上有效? 但是这个:int a = p->x给出了一个nullptr错误?
int a = p->x