Ciao,
non hai bisogno di allocare memoria, non con una struttura di tipo 'char []'.
Al momento della dichiarazione il compilatore C può inizializzare un'area di memoria contigua (gli array per intenderci!), ma nell'esecuzione del programma necessita di funzioni predefinite (solo per i 'char []'), come 'strcpy()' e 'strncpy()' che sono contenute in 'string.h'.
Es.
char x[] = "mango";
// n statements
strcpy(x, "Gino");
Ciao
Don't be worry, is only a piece