allora ecco degli esempi in pseudocode

ho dei vettori nome

nome[11] = "antonio"
nome[11] = "giulia"
nome[11] = "massimo"
nome[11] = "paolo"

e un vettore che li raggruppa

raggruppo[100]

in raggruppo[3] ho massimo
in raggruppo[44] ho antonio

e così via

l'ultimo elemento di raggruppo[100] non me lo fa riempire allora io mi domando, è perchè il compilatore ci deve mettere \0 ??? ad esempio in nome[11] io ho 10 caratteri a disposizione e l'undicesimo serve al getchar per mettermi \0.

inoltre mi chiedo, quando inserisco un nome in un vettore con getchar, scandendocarattere per carattere, getchar mi mette automaticamente \0 nell'ultimo posto in questo caso nome[11], la stessa cosa la fa scanf? nel senso se io inserisco un nome in un vettore con scanf e faccio enter, il compilatore si preoccupa di mettermi un \0 ?

se non lo facesse, cosa devo fare con scanf?

spero di essere stato chiaro, in effetti prima senza esempio non si capiva niente.

Grazie