当下面的程序没有崩溃时,我感到很惊讶.
typedef struct _x {
int a;
char b;
int c;
} x;
main() {
x *ptr = 0;
char *d = &ptr->b;
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,->运营商优先于&运营商.所以当我们尝试取消引用NULL指针时,我希望程序在下面的语句中崩溃tr.
char *d = &ptr->b;
Run Code Online (Sandbox Code Playgroud)
但该声明&ptr->b评估的是有效地址.有人可以解释一下我错了吗?