Non vorrei dire una fesseria:

una variabile array fa riferimento a tutto l'array quindi durante la sua inizializzazione bisogna conoscere a priori la dimensione.
Utilizzando un puntatore, questo punta alla locazione di memoria del primo elemento, ecco perchè non è necessario conoscerne le dimensioni in fase di programmazione (vedi memoria dinamica).

Se non è corretto quello che ho detto, segnalatelo subito !!!

Grazie ,