char array[8]={'H','a','l','l','o'};
geht nur bei der Initialisierung der Variable (und ist kein String,
weil die abschließende 0 fehlt). Um zur Laufzeit einen String in das
Array zu kopieren gibt es die Funktionen strcpy und strncpy.
Beispiel:
strcpy(array, "Hallo");
Bei strncpy kann man die Anzahl n der zu kopierenden Bytes angeben. Das
macht z.B. Sinn wenn man einen String unbekannter Länge hat, den man in
ein Array mit begrenzter Länge kopieren will. Allerdings wird der
String nicht automatisch terminiert, deshalb muss man "von Hand" eine
Null anfügen:
strcpy(array, string, 7); // 7 bytes von string nach array kopieren
array[7] = '\0'; // das 8. Byte in array auf 0 setzen