stocker des chaînes de caractères dans les tableaux de char en C

#include<stdio.h>
int main()
{
  char a[5]="hello";
  puts(a);  //prints hello
}

Pourquoi le code compile correctement? Nous avons besoin de six endroits pour stocker "hello", correct?

pourquoi le negvote?
probablement parce que le titre ne correspond pas à la question.
Fixe le titre après que j'ai été induit en erreur ici avec une recherche Google

OriginalL'auteur Lazer | 2010-03-24