Bagaimana seharusnya array karakter digunakan sebagai string?

Saya mengerti bahwa string dalam C hanyalah array karakter. Jadi saya mencoba kode berikut, tetapi memberikan hasil yang aneh, seperti keluaran sampah atau crash program: #include <stdio.h> int main (void) { char str [5] = "hello"; puts(str); } Mengapa ini tidak berhasil? Ini...