Como as matrizes de caracteres devem ser usadas como seqüências de caracteres?

Eu entendo que seqüências de caracteres em C são apenas matrizes de caracteres. Então, tentei o código a seguir, mas ele fornece resultados estranhos, como saída de lixo ou falhas no programa: #include <stdio.h> int main (void) { char str [5] = "hello"; puts(str); } Por que isso não...