Originariamente inviato da freethinker
...grande! Ho fatto delle prove ed ho verificato che con char array[20]={0} non mi stampa niente, mentre con int array[5]={0} mi stampa cinque 0! Grazie mille e porta pazienza per la mia ignoranza in materia, ma pian piano voglio capirci qualcosa...
Guarda, il fatto è che il C ha regole semplici. Dovresti studiarle sui libri piuttosto che tramite il forum. Il forum è uno strumento da utilizzare per problemi specifici su codice specifico, non per formazione ed autoapprendimento.

In particolare, per il tuo problema, le stringhe in C sono array di char terminate da carattere NUL (0 binario), come potrai studiare su qualsiasi libro anche di base.

Una stringa come CIAO in C equivale ad un array di char il contenuto è

'C' 'I' 'A' 'O' '\0'

in cui l'ultimo carattere (il terminatore) indica quando la stringa termina.

Se lo usi come primo carattere, questo determina una stringa "vuota" e il printf non visualizzerà nessun carattere.

Ovviamente è un'altra storia per un array di interi, che sono dei valori numerici e non ha senso che siano "vuoti" (anche zero è un valore).