Forse non è il posto più adatto per chiedere una cosa del genere ma... Ci provo lo stesso!

Stavo studiando sul mio manuale di C per un esame ormai prossimo, e incappo in questo esempio sul sizeof: ammettiamo che la macchina allochi 4 byte per una variabile int.
Ho il seguente codice:
int a[5];
sizeof (a);
Mi spiegate perchè sizeof (a);, secondo il mio libro, mi restituisce 20 byte invece che 24? A me risulta che un array con indice massimo 5, abbia 6 elementi (poichè si considera anche la cella 0) ma sia sul manuale che su internet trovo pareri contrari... Evidentemente sbaglio qualcosa di molto grave!
