The parentheses in (*parray)[i] would be unnecessary if dereferencing used postfix notation.
Current: All postfix *ptr[3] ptr[3]* // indexed access, then deref (*ptr)[3] ptr*[3] // deref, then indexed access*
Dereferencing does have a postfix notation, so you can try it (sort of):
#define $ [0]
Dereferencing does have a postfix notation, so you can try it (sort of):
then you can say ptr $[0] or ptr[0]$ and see if it's really better...