Hallo,
Mit :const char hallo[] = { "Hallo Welt\n" };
geht es ja nur beim deklarieren am Anfang des Codes.
1. Lass Dir dieses const auf der Zunge zergehen überleg 2 Sekunden und gib Dir selbst eine Antwort darauf, ob Du da noch was im laufendem Programm verändern kannst
2. Gut angenommen, Du läßt const Weg damit ist Dein char hallo[] genau 11 Bytes lang (der Text + Zeilenumbruch + '\0')
Damit mußt Du dafür Sorgen, daß Du nichts größeres hineinkopierst.
3. Nach der Einführung gibt es wieder 2 Wege:
A. Du nutzt die string.h und gukst Du dir strcpy(char *a,char *b) an,
es kopiert Array/Zeichenkette b in a inklusive '\0' a u. b müssen natürlich auch Nullterminiert sein.
B. Du implementierst Dir eine eigene Routine dafür z.B. so
Code:
void kopierebina(char *a,char *b) {
   while(*a++ = *b++);
     *a='\0';
   }
Du hast die Wahl

Gruß Sebastian