I remember being given a copy of grep source and seeing a char pointer written as "p[-1]" and it was an like a thunderbolt of understanding about C pointers.