http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter6.html
So we could write instead printf("origin is (%d,%d)\n", pp- > x, pp- > y); Both . and - > associate from left to right, so if we
have struct rect r, *rp = &r; then these four expressions are equivalent: r.pt1.x
rp- > pt1.x
(r.pt1).x
(rp- > pt1).x The structure operators . and - > , together with () for function calls and [] for subscripts, are at the top
of the precedence hierarchy and thus bind very tightly.