Aggiungerei, come appendice a quanto già scritto, anche la differenza di quantità di memoria occupata dai due tipi: all'interno dell'area di memoria del vettore di tipo "char" ogni suo elemento occupa 1 byte di memoria, mentre nel vettore di tipo "int" ogni elemento occupa 4 byte (in un sistema a 64-bit).
Pertanto la quantità di memoria utilizzata da:
char c[6];
è diversa da quella utilizzata da:
int i[6];