In C, why does the dereference operator have lower precedence than the operator? This doesn't really make sense to me, because this:
(*p).abc = 123
could become this:
*p.abc = 123
which would render this not needed:
p->abc = 123
Is there some problem with setting the dereference operator to a higher precedence than the dot operator?