Le tue idee sono molto confuse e ti assicuro che dipende dal fatto che ancora non conosci molto del linguaggio, a parte i puntatori. Il fatto stesso che tu non sappia leggere la frase con la malloc, significa che, per ora, devi fermarti e aspettare che ti vengano spiegati i puntatori e il loro mondo ...
Un puntatore e' un modo molto potente che il linguaggio fornisce per accedere ai dati, a prescindere dai vettori. E' utilissimo in molte occasioni, a volte necessario.
Quando userai delle strutture complesse come le "liste semplici" o "liste doppiamente linkate" capirai perche' dico che i puntatori sono necessari.
Imparerai anche che, un puntatore potra' essere usato per accedere al codice, non solo ai dati. Quando tratterai (se lo farai nella tua scuola) i puntatori a funzione, capirai che questo tipo di cose bisogna studiarle prima di capire se e dove saranno utili.