ok grazie, comunque il procedimento/logica per allocare la memoria dinamicamente è giusta?

però perchè con questo codice:

int main(int argc, char** argv) {

char * n;
n=new char;
cout<<"Inserisci nome\t";
cin>>n;

cout<<"nome= "<<n<<endl;

return 0;

non ho problemi?e comunque nella soluzione della lista ho problemi solo per stringhe con più di 7 caratteri perchè? tanto per capire...