Ciao a tutti!!
Ho un dubbio per quanto riguarda le stringhe prese tramite scanf.
In pratica quello che vorrei fare è questo
Ovviamente, però, quando arrivo alla scanf, poichè per campo non è stata allocata memoria, il programma va in segmentation fault.codice:char *campo; printf("Inserisci campo\n"); scanf("%s", campo);
Quello che mi e vi chiedo quindi è se è possibile prendere da scanf una stringa di dimensione variabile e allocare dinamicamente memoria in base alla lunghezza della stringa letta.
Per esempio, se leggo una stringa di 10 caratteri, userò
Oppure devo necessariamente dichiarare un array di caratteri di dimensione finita nel sorgente??codice:char *campo = malloc(strlen(campo) + 1); //+1 per contenere il carattere '\0'
grazie mille a tutti