Beh, diciamo che a parole è così . Avendo sia & che * lo stesso ordine di precedenza vengono valutati da quello più vicino all' termine su cui devono agire verso l'esterno in questo modo:
&*yPtr è : "L'indirizzo dell' oggetto puntato dall' indirizzo contenuto da yPtr". Che è proprio l'indirizzo di "y" e quindi lo stesso valore contenuto in yPtr.
*&yPtr invece è : "Il valore dell' oggetto puntato dall' indirizzo di yPtr", che è proprio il valore contenuto in yPtr, che è sempre l'indirizzo di "y".
Ergo hai raggiunto lo stesso obbiettivo in 2 modi diversi
Nel primo caso il sistema valuta l'indirizzo di "y" con l'operatore "&", nel secondo caso invece viene letto da yPtr, col risultato che alla fine entrambi sono sempre la stessa cosa, ossia l'indirizzo di "y"
Ciao