1,*ptr++,后置递增运算符的优先级要高于解引用运算符。因此这条表达式的意思实际上是 *(ptr++)。
2,if (val == true)。这条表达式实际的效果是,true的值自动转换成1(同理,false自动转换成0),只有当val等于1的时候,判断才为真。
3,解引用运算符的优先级低于点运算符。(*ptr).member表示取ptr指针指向的对象的member成员。*ptr.member这样写会等于*(ptr.member),是要出问题的。
1,*ptr++,后置递增运算符的优先级要高于解引用运算符。因此这条表达式的意思实际上是 *(ptr++)。
2,if (val == true)。这条表达式实际的效果是,true的值自动转换成1(同理,false自动转换成0),只有当val等于1的时候,判断才为真。
3,解引用运算符的优先级低于点运算符。(*ptr).member表示取ptr指针指向的对象的member成员。*ptr.member这样写会等于*(ptr.member),是要出问题的。