devi usare i puntatori a caratteri

codice:
...
char* stringa;
...
la differenza tra puntatore e carattere è che un puntatore è una variabile che contiene l'indirizzo di memoria della variabile, mentre la variabile normale solo il valore, quindi per ottenere il valore di un puntatore lo si deve deferenziare, usando proprio l'operatore *.

Una cosa importante che stavo dando per scontato è che il puntatore deve essere inizializzato, sennò, sopratutto in C con compilatore C, certi errori e dura trovarli.

Per inizializzare i puntatori puoi usare o il sistema più semplice, gli array, o allocare con malloc:

codice:
char stringa[200];
char* stringa = (char*)malloc(200);
//cast non necessareio dato che C prende un void* per char* senza dare problemi...