Comment les tableaux de caractères doivent-ils être utilisés comme chaînes?

Je comprends que les chaînes en C ne sont que des tableaux de caractères. J'ai donc essayé le code suivant, mais il donne des résultats étranges, tels que la sortie des ordures ou les plantages du programme: #include <stdio.h> int main (void) { char str [5] = "hello"; puts(str); } Pourquoi ça...