In caso di allocazione dinamica del vettore, il sizeof() che lavora a
compile-time ti restituisce la dimensione del puntatore.

Ma perchè non usi direttamente n ?