Forse ti stai confondendo tra stringhe e caratteri. Il vettore che hai utilizzato non passa nome per nome, ma carattere per carattere:
se hai un vettore char vett[10] non hai disponibili 10 nomi/parole, ma hai disponibile 10 caratteri, -1 per il carattere di fine stringa(\0), cioe' per il nome "Davide" (mi e' nuovo, usare il mio nome come esempio) servirebbe un vettore con almeno 7 caratteri (char vett[7]) dove 6 sono i caratteri effettivamente utilizzati dal nome, e l'ultimo e' il carattere di fine stringa.
Diverso e' per le stringhe:
mettiamo che devo memorizzare 10 nomi. Creo il vettore di tipo stringa "string name[10]", dove i membri sono da 0 a 9. Ogni membro ha a disposizione una stringa (non mi ricordo il massimo di caratteri, ma e' molto grande, non lo riempirai probabilmente mai tutto), e quella stringa puo' effettivamente mantenere il nome intero, ad esempio
string name[10];
name[1] = "Davide"; //Il numero puo' essere il contatore i
name[2] = "Edoardo";
name[3] = "Mario rossi"; //Puo' contenere anche spazi
//...
name[9] = "Mariangianfranciangela";
e si ottiene il vettore stringa di 10 elementi con 10 nomi diversi -se sono effettivamente diversi, poi non ci sono problemi se qualche nome e' uguale-.