credo perchè comunque il tipo di dato puntato da test è sempre lo stesso (un unsigned int), e sizeof ritorna lo spazio riservato per una variabile di tale tipo, indipendentemente di quanto spazio hai allocato. Se no in questo modo sarebbe possibile sapere sempre quanti elementi ci sono in un array perchè basterebbe usare questa funzione e dividere il risultato per la dimensione del tipo.