Vos entendés bien qué hace el puntero, tu confusión viene de no saber qué es strtok. Según cplusplus (te invito a mirar la función ahí), la función está declarada así:
Es decir que devuelve un puntero, por eso no se necesita el "&". Porque estás asignando un puntero a otro.
char * strtok ( char * str, const char * delimiters );
Es decir que devuelve un puntero, por eso no se necesita el "&". Porque estás asignando un puntero a otro.