If we have:
SomeStructType s; SomeStructType *sp = &s; // declare pointer and initialise to address of s
then the following are all equivalent:
s.SomeElem sp->SomeElem (*sp).SomeElem